JavaScript 数组相关api(forEach、map、filter、sort、push 、pop 、unshift 、shift、splice、slice)

数组遍历:forEach

// forEach:遍历数组,不改变原数组
let Ali=document.querySelectorAll('li');
Ali.forEach(function(node){//只有nodeList、和数组才能使用forEach方法
node.onclick=function(){
    console.log(node);
}
})

当数组的每一项为引用类型的时候forEach会改变原数组

数组求和:reduce

let ary=[1,2,3,4]
console.log(ary.reduce((a,b)=>a+b))

 reduce方法接受一个对数组内部做操作的参数函数,还可以求积等。

数组过滤:filter

//filter:对数组进行过滤得到一个新数组,不改变原数组
let ary=[1,2,3,4,5,6,7,9];
// let bry=ary.filter(function(n){
//     if (n%2) {//奇数
//         return false;
//     } else {//偶数
//         return true;
//     }
// })
let ary2=ary.filter(n=>!(n%2));//筛选出偶数
console.log(ary2);

对数组每一项操作:map


// map:对数组中的每一项进行处理,得到一个新数组,不改变原数组
let str=['q','w','e','r'];
// let str2=str.map(function(node){
//     return node+'~';
// })
let str2=str.map(node=>node+'~')
console.log(str2);
//对数组每一项求立方
let num=[1,2,3];
let num2=num.map(n=>n**3);
console.log(num2);

数组排序:sort

// sort:排序函数,可自定义排序规则,会改变原数组
let input=[1,4,89,23,5,11];
// input.sort(function(a,b){//从小到大
//     return a>b ?1:-1;
// });
// input.sort(function(a,b){//从小到大
//     return a-b;
// });
// input.sort((a,b)=>a-b);//从小到大(升序)
// input.sort((a,b)=>b-a);//从大到小(降序)
input.reverse()//反序
console.log(input);

向数组中添加或者删除一个元素:push、pop、shift、unshift、splice

    push:从数组末尾追加一个数据

    pop:从数组末尾删除一个数据

    shift:向数组头部删除一个数据

    unshift:向数组头部添加一个数据

    splice(index,0,data):向数组指定位置添加一个数据 

    splice(index,1):  从数组指定位置删除一个元素。

splice方法 非常强大,可添加、删除、替换元素

从数组中查找某一个数据:indexOf:返回对应的下标

let number=[12,13,15,16];
console.log(number.indexOf(13));//1

slice方法:

slice方法主要用于从数组中取出数据

        let arr=[1,2,3,4,5]
        arr.slice(1)//取index=1的数据:2
        arr.slice(-3)//取倒数第三个到最后的数据:3,4,5
        arr.slice(1,3)//取index=1到index=2的数据:2,3
        arr.slice(-3,-1)//取到数第三个到第二个数据:3,4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值