JavaScript中可以遍历数组的8种方法

for loop  
  • 可以使用 break 结束循环或使用continue 跳出当前循环
		let arr =[0,1,2,3,4]
		for(let i =0;i<arr.length;i++){
			if(i>2)break;
			console.log(arr[i]);
		}
for of
  • 可以搭配 break、continue 和 return 使用
	const arr = ["apple", "orange", "banana"];
		for (const item of arr) {
		  if (item === "orange") continue;
		  console.log(item);
		}
for in
  • 遍历的是键值 (key),而在数组中的 键值 (key) 就是 索引 (index)
const arr = ["apple", "orange", "banana"];
		for (const item in arr) {
		  console.log(item);
		}
forEach
  • 不能使用 break 和  continue 语法跳出循环
  •  forEach方法只会遍历原数组,并不会回传一个新数组。所以如果需要从一个旧数组中建构出另一个新数组,应该使用 map 方法
		const arr = ["apple", "orange", "banana"];
		arr.forEach((value)=>{
			console.log(value);
		})
map
  • 针对每一个元素执行提供的函式,并回传新数组
		const arr = [1, 2, 3, 4];
		const newArr = arr.map((x) => x + 1);
		console.log(newArr);
		// [2,3,4,5]
console.log(arr);
		[1,2,3,4] // 原数组不会被改变
filter
  •  创建回传一个新数组,并过滤掉没有通过所提供函式的元素
		const arr = [19, 2, 13, 40];
		const newArr = arr.filter((x) => x > 18);
		console.log(newArr);
		// [19, 40]
		// [19, 40]
		
		console.log(arr);
		[19, 2, 13, 40] // 原数组不会被改变
every
  • 一假则假(有一个条件不满足则为false 每一个都要满足)
  •  会测试数组中每一个元素是否通过提供的函式,最终返回一个布尔值(Boolean)
		[12, 5, 8, 130, 44].every((x) => x > 10); // false
		[12, 54, 18, 130, 44].every((x) => x > 10); // true
some 
  • 一真则真(有一个条件满足则为true 一个满足即可)
  • 会测试数组每一个元素是否通过提供的函式,若其中有一个元素测试值为 true,那就会提前结束,并回传 true
[2, 5, 8, 1, 4].some((x) => x > 10); // false
		[12, 5, 8, 1, 4].some((x) => x > 10); // true

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值