js中数组遍历方法大全

1.forEach

let tempArr = ['aa','bb','cc'];
tempArr.forEach((item,index) => {
	...//item: aa/bb/cc index:0/1/2
});

2.map(适用于键值对存取)

let testData = [{Name: 'hk', age: 18, score: 100}];
let testArr = testData.map(v => {
	return {
		label: v.Name,
		value: v.age
	}
});// {label: 'hk',value:18}

3.for of

let testData = ['huawei', 'xiaomi', 'apple'];
for (let value of testData ) {
  console.log(value);// huawei,xiaomi,apple
}

4.filter(可以用于去重,过滤数据)

unction unique(arr) {
  return arr.filter(function(item, index, arr) {
    //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
    return arr.indexOf(item, 0) === index;
  });
}
var arr = [1,1,'erewr','等等',true,false];
console.log(unique(arr))// [1, "erewr", true, false]

5.some(遍历数组元素,查找指定元素,找到返回true停止遍历,反之返回false)

let users = [
  { name: 'Perter', age: 22 },
  { name: 'Lily', age: 15 },
  { name: 'Lisa', age: 58 },
];

let ageRestriction = users.some(user => {
  return user.age <= 18;
});//true

6.every(遍历数组,每一项都符合条件返回true,反之返回false)

let testArr = [3,5,6,0,-1,9];
let result = testArr .every(val => val > 0); //false

7.reduce(最常用于数组求和)

let numArr = [21,34,566,88,90];
let result = numArr.reduce((total, num) => total + num);

8.reduceRight(用法和reduce一样,遍历顺序不一样,是从后往前遍历)

9.find(遍历数组查找第一个符合的项,找到一个返回true,反之返回undefined)

[1, 4, -5, 10].find((n) => n < 0)
// -5

10.findindex(遍历数组查找第一个符合的项的索引值,反之返回-1)

[1, 5, 10, 15].findIndex((value, index, arr) => {
return value > 9;
}) // 2

11.keys(ES6提供的新方法,对键名的遍历)

for (let index of ['a', 'b'].keys()) {
console.log(index);
}
// 0
// 1

11.values(对键值的遍历)

for (let ele of ['a', 'b'].keys()) {
console.log(ele );
}
// 'a'
// 'b'

12.entries(对键值对的遍历)

for (let [index, elem] of ['a', 'b'].entries()) {
console.log(index, elem);
}
// 0 "a"
// 1 "b"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值