数组的高级API

一、sort

var arr = [100, 10, 8, -10, 1000];
    console.log(arr);

    console.log(arr.sort(function (a, b) {
        return a - b;
    }));//将数组元素按照从小到大的规律排列

    console.log(arr.sort(function (a, b) {
        return b - a;
    }));//将数组元素按照从大到小的规律排列

二、slice

arr.slice(n,m)有两个参数,表示的含义是从第n个元素到第m个元素不包含第m个元素,可以省略其中一个参数

var arr = [1, 3, 5, 7, 9, 11];
    var arr1 = arr.slice(1);
    var arr2 = arr.slice(1, 4);
    var arr3 = arr.slice(1, -2);
    var arr4 = arr.slice(-4, -1);
    console.log(arr1);//3,5,7,9,11
    console.log(arr2);//3,5,7
    console.log(arr3);//3,5,7
    console.log(arr4);//5,7,9

三、splice

      arrayObject.splice(index,howmany,item1,.....,itemX)

index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX可选。向数组添加的新项目。

 

var arr = [1, 3, 5, 7, 9, 11];
    var removeArr = arr.splice(0, 3);
    console.log(arr);//7,9,11
    console.log(removeArr);//1,3,5

    arr.splice(2,0, "哈哈哈", "哈哈哈", "测试");
    console.log(arr);//7,9, "哈哈哈", "哈哈哈", "测试",11

四、forEach

将每一对键值对显示出来

var arr = [1, 3, 5, 7, 9, 11];
    var arr2 = arr.map(function (value, index) {
        return value * value + 10;
    });
    console.log(arr2);
/*
【11,19,35,59,91,131】
*/
var arr = [1, 3, 5, 7, 9, 11, "哈哈哈"];
    arr.forEach(function (value, index) {
        console.log(index + ":" + value);
    });

五、map

将每一个元素都进行相应规定的运算,并用一个新数组将元素存起来,原先数组的元素并不发生改变

var arr = [1, 3, 5, 7, 9, 11];
    var arr2 = arr.map(function (value, index) {
        return value * value + 10;
    });
    console.log(arr2);
/*【11,19,35,59,91,131】*/

六、filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

var arr = [1, 2, 3, 4, 5, 6,  7, 8, 9, 10, 11];
    var arr2 = arr.filter(function (value, index) {
        return index % 2 === 0 || value > 9;
    });
    console.log(arr2);
/*【1,3,5,7,9,10,11】*/

七、every

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。

注意: every() 不会对空数组进行检测。

注意: every() 不会改变原始数组。

var arr = [11, 2, 3, 4, 15];
    var result =  arr.every(function (value, index) {
        return value < 10;
    });
    console.log(result);
//false

八、some

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

  • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
  • 如果没有满足条件的元素,则返回false。

注意: some() 不会对空数组进行检测。

注意: some() 不会改变原始数组。

var arr = [11, 21, 31, 14, 15];
    var result =  arr.some(function (value, index) {
        return value < 10;
    });
    console.log(result);
//false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值