高级数组API

// 1. 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;
    }));

·sort  -->在默认情况下,sort( ) 方法按升序排列数组项---即最小的值位于最前面,为了实现排序,sort( )方法会调用每个数组项的toString( )转型方法,然后比较得到的字符串。

sort( ) 可以接受一个比较函数作为参数。比较函数接受两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等,则返回0,如果第一个参数应该位于第二个之后则返回一个正数。


补充:reverse( ) 函数 用于反转数组。

// 2. slice()
    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);
    console.log(arr2);
    console.log(arr3);
    console.log(arr4);

·slice()--> 能够基于当前数组中的一个或多个项创建一个新数组。可以接受一个或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下,slice( ) 返回从该参数指定位置开始到当前数组末尾的所有项。如果两个参数,该方法返回起始位置和结束位置之间的项---但不包括结束位置的项。如果参数中有一个负数,则用数组长度加上该数来确定相应的位置。

ps: 该方法不会影响原数组。

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


    arr.splice(2,0, "哈哈哈", "哈哈哈", "测试");
    console.log(arr);


    arr = [];
    arr.splice(0, 1);
    console.log(arr);


·splice( ) -->  主要用途是向数组的中部插入项。

1.删除 : 可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数。

2.插入: 可以向指定位置插入任意数量的项,只需提供3个参数:起始位置、0和要插入的项。

3.替换: 可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需提供3个参数:起始位置、要删除的项数和要插入的任意数量的项。

// 4. forEach
    var arr = [1, 3, 5, 7, 9, 11, "哈哈哈"];
    arr.forEach(function (value, index) {
        console.log(index + ":" + value);



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



// 6. 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);


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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值