温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Array数组常用方法

发布时间:2020-07-15 15:52:06 来源:网络 阅读:267 作者:心月草 栏目:web开发
  • 添加/删除元素(末尾)

    arr.push(arrItem);//返回修改后数组的长度
    arr.pop();//无参,删除数组末尾的一个元素,返回被删除的数据。
  • 添加/删除元素(首位)

    arr.unshift("aaa");//在数组开头添加一个元素,返回数组的长度。(IE6,7返回undefined)
    arr.shift();//删除数组第一个元素,返回被删除的数据。
  • 切除与替换

    var arr = [1,2,3,4,5];
    arr.splice(n); //从n开始删除至末尾的元素。
    arr.splice(index,count); //从index开始,删除count个元素。
    arr.splice(index,coungt,item); //从index开始,删除count个元素,item是替换被删除的元素。(item可以是多项)

    以上三种形式的都是以数组形式返回被删除的元素。

  • 排序

    arr.sort();//默认升序,以编码排序。()中可传参,但也只能是函数。
    arr.sort( function(a,b) { return a-b; } );//升序;
    arr.sort( function(a,b) { return b-a; } );//降序;
    arr.sort( function(a,b) { return 0.5-Math.random(); } );//随机排序;
  • 连接concat:连接多个或多个数组,形成一个新的数组。

    var new1 = arr1.concat(arr2);//并不会影响原数组。
    var new2 = arr1.concat(arr2,arr3);//可传多个参数,连接多个数组。
  • 数组反转/倒序

    arr.reverse();
  • 数值遍历
    arr.map(function(item,index){ } );//item指数值的每一项,index指数值的下标。
  • 数值过滤

    arr.filter(function(item,index){
         ……
         return item;
    })
  • every && some
var arr = [1, 2, 3, 4, 5];
arr.every(function(x){
    return x < 10;
}); //true 每一项都小于10
arr.every(function(x){
    return x < 3
}); // false

arr.some(function(x){
    return x === 3;
});//true 至少有一项等于3
  • reduce && reduceRight
var arr = [1, 2, 3];
var sum = arr.reduce(function(x,y){
    return x + y
}, 0); //6
//第二个参数是设置第一次的x,如不传第二个参数,则第一次时x=arr[0],y=arr[1];第二次x=x+y,y=arr[2]

var arr = [3, 9, 6];
var max = arr.reduce(function(x,y){
    return x > y ? x : y;
});//9

//reduceRight()是从后面开始遍历。
// arr原数组不被改变
  • indexOf && lastIndexOf
var arr = [1,2,3,2,1];
arr.indexOf(2);//1 从左到右查找2的索引
arr.indexOf(99); // -1 不存在返回-1
arr.indexOf(1,1); //4 第二个参数为起始位置
arr.indexOf(1,-3); //4
arr.indexOf(2,-1); //-1
arr.lastIndexOf(2); //3
arr.lastIndexOf(2,-2); //3
arr.lastIndexOf(2,-3); //1
  • 判断是否为数组
Array.isArray([]); // true
[] instanceof Array; // true
({}).toString.apply([]) === "[object Array]"; // true
[].constructor === Array; // true
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI