百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> JavaScript常用操作数组函数
分享文章到:

JavaScript常用操作数组函数

发布时间:01/15 来源: 浏览: 关键词:
本文章来给各位同学介绍在JavaScript常用操作数组函数,我们最常用的就是如join,concat,pash,shift,sort等等一些数组函数了,下面我给大家介绍。

数组操作函数

join(delimiter)            把数组中各个元素使用分隔符(delimiter)拼成字符串
concat(array1, array2, …)           合并数组,对原数组不影响,只是返回合并后的新数组
pop()                    删除并返回最后一个元素
push(element1, element2, …)            在数组末尾追加元素
shift()                  删除并返回第一个元素
unshift(element1, element2, …)        在数组开始位置添加元素
reverse()              将数组元素顺序首尾反转
sort(sortby)           给数组排序
slice(start, end)       返回一个新的数组,将start开始,到end结束(不包括end)之间的元素复制到新数组中
splice(start, count, replaceElement1, replaceElement2, …)      

删除或者替换数组元素,从start开始,对count个元素进行删除或替换

如果提供replaceElement参数则进行替换,否则进行删除操作,被替换的元素个数和replaceElements的个数不必相等
返回一个数组,包含被删除或替换掉的元素

下面我结合一些函数我们把常用的数组操作实例介绍


1.删除数组中指定的元素

 代码如下


/**
 * 参考实例
foreach = function (obj, insp){
  if(obj== null && obj.constructor != Array){
  return [];
}
//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];

//下面对constructor属性作进一步了解。
var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // 返回true 表明obj的构造函数为Array;

var foo= function() { }; // 等价于 var foo = new Function();
console.log(foo.constructor === Function); // 返回true 表明foo的构造函数为Function;

var obj = new Foo();  //由构造函数实例化一个obj对象
console.log(obj.constructor === Foo); // 返回true 表明obj的构造函数为Foo;

 */

//删除数组中指定的元素

function del(val, arr)
{
    //检测参数
    if (arr == null && arr.constructor != Array) {
        return [];
    }
   
    var newarr = []; //不存在的保存到新数组中
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] != val)
            newarr.push(arr[i]);
    }
    return newarr;
}
alert(del(2, [1, 2, 3, 4, 5, 2]));


2.去除重复的元素

 代码如下

 

/**
 *去除数组中重复的元素
把元素的值存为一个新数组的key,key是不可以重复的,然后变量次数组即可
 */
function unique(data) {
    data = data || [];
    var a = {};
    len = data.length;
    for (var i = 0; i < len; i++) {
        var v = data[i];
        if (typeof(a[v]) == 'undefined') {
            a[v] = 1;
        }
    };
    data.length = 0;
    for (var i in a) {
        data[data.length] = i;
    }
    return data;
}
alert(unique([12,12,12,34]));


 3.删除数组指定下标的元素

 

 代码如下

/**
 *删除数组的指定下标元素
 *
 * i 的值是一直在变的,n的值是只有if条件成立的时候才会变(会依次递增)
 */

Array.prototype.remove=function(dx)
  {
    if(isNaN(dx)||dx>this.length){return false;}
    for(var i=0,n=0;i<this.length;i++)
    {
        if(this[i]!=this[dx])
        {
            this[n++]=this[i]
        }
    }
    this.length-=1
  }

var arr = [1,2,3,4,2,5];
alert(arr);
arr.remove(2);

alert(arr);

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板