几种操作数组的方法 forEach,each,filter,map,find,some,every,includes,reduce

①forEach          //forEach  主要是函数中 doSomthing,对数组中的每一个数据都进行操作;类似于each

let numbers = [1,2,3];
let newNumbers = numbers.forEach(function (currentValue,index,arr) {
    console.log(currentValue)
    console.log(index)
    console.log(arr)
    return currentValue*4;
},this)
console.log(newNumbers)

let numbers = [1,2,3];
var sum = 0;
var sum2 = 0;
let newNumbers = numbers.forEach(function (currentValue,index,arr) {
    sum+=arr[index];
    sum2+=currentValue;
},this)
console.log(sum)
console.log(sum2)

 

②each          //each  主要是函数中 doSomthing,对数组中的每一个数据都进行操作;类似于each

let numbers2 = [[1,2,3],[5,6,7],[8,9,5]]; //遍历二维数组
$.each(numbers2,function (index,currentValue) {
    console.log(currentValue)
    console.log(index)
})

let json = {a:1,b:2,c:3}  //可以解析json
$.each(json,function (key,value) {
    console.log(key)
    console.log(value)
})

 

③filter 过滤数组中所有符合条件的元素

let num = [11,22,33,44,55,66]
var newNum = num.filter(function (value) {
    return value>33;
})
console.log(newNum)

④map

let json = [
    {a:11,b:22},
    {a:33,b:22},
    {a:44,b:22},
]
var newJson = json.map(function (value) {
    return value.b;
})
console.log(newJson.join(","))

let json = [1,2,3,4]
var newJson = json.map(function (value) {
    return value+value;
})
console.log(newJson)

⑤find //返回的是第一个满足条件的元素

let json = [1,2,3,4]
var newJson = json.find(function (value) {
    return value>2;
})
console.log(newJson)

⑥some   //  对数组中的任一项执行某操作,只要有一项符合操作,则返回true

let json = [1,2,3,4]
var newJson = json.some(function (item,index,arr) {
    return item>2;
})
console.log(newJson)

⑦every  // 对数组中的每一项执行某操作,只要有一项不符合操作,则返回false

let json = [1,2,3,4]
var newJson = json.every(function (item,index,arr) {
    return item>2;
})
console.log(newJson)

⑧includes  //在数组中查找某一元素,如果有该元素  返回true,如没有,返回false

let num = [1,2,3,4]
let newNum = num.includes(3,1)  //第一个参数的要查找的数,第二个参数是要查找的起始位置
console.log(newNum)

⑨reduce  //一个数组中,从第一项开始进行操作

arr.reduce(function(prev,cur,index,arr){
...
}, init); 

//prev表示上一次调用回调时的返回值,或者初始值 init;

//cur当前执行操作的对象

//index当前执行操作的索引值

//arr 原数组

//init  初始值

let number = [1,2,3,4];
 let sum = number.reduce(function (prev,cur) {
     return prev+cur;
 },0)
 console.log(sum) //求该数组的和

let number = [1,2,3,4,4,2,6,3];  
 let newNum = number.reduce(function (prev,cur) {
     prev.indexOf(cur) === -1 && prev.push(cur);
     return prev;
 },[])
 console.log(newNum)  //数组去重

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值