JS数组遍历

数组在JS中是十分常用的引用对象,数组占用着一整块的内存空间,数组的成员也是按照数组写入的顺序存入,遍历也自然是按照存入的顺序来遍历,一下罗列出常见的可以称之为对数组数组遍历的方法

1.every

检查数组每一项是否符合特定条件,都满足要求才返回true,否则返回false

var arr = [1,2,3];

arr.every((val,index,arr) => {
	return val > 0;
})

//true

2.some

检查数组中是否有符合特定条件的,有任一满足即返回true,全部不满足返回false

arr.some((val,key,arr) => {
	return val > 2;
})
//true

3.filter

在数组中找出满足条件的元素,返回符合条件的数组

arr.filter((val,key,arr) => {
	return val >= 2; 
})
//[2,3]

4.map

遍历数组并对数组做指定操作,返回操作后的数组

arr.map((val, index, arr) => {
	return val * 2;
})
//[2,4,6]

5.forEach

遍历数组,对数组做一系列操作,与map()不同的是没有返回值

arr.forEach((val, index, arr) => {
	//do something
})

6.for...of

ES6新增遍历方法,可以直接获取数组的值

for(let val of arr){
	console.log(val)
}
//1,2,3

7.keys()、values()、entries()

以上不能直接使用arr.keys(),此时返回的是接口对象,常配合for...of使用

for(let key of arr.keys()) {
	console.log(key);
}
//0
//1
//2

for(let val of arr.values()) {
	console.log(val);
}
//1
//2
//3

for(let [key, val] of arr.entries()) {
	console.log(key,val);
}
//0 1
//1 2
//2 3

以上便是常见的数组遍历方法,各有合适的场景

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 JavaScript 数组中遍并删除元素,有几种方法: 1. 使用 for 循环:你可以使用 for 循环遍数组,并使用 `splice` 方法删除指定索引处的元素。然而,需要注意的是,在使用 `splice` 删除元素后,数组的长度会改变,因此需要适当地调整循环索引。 ```javascript var arr = [1, 2, 3, 4, 5]; for (var i = 0; i < arr.length; i++) { if (arr[i === 3) { arr.splice(i, 1); // 删除索引为 i 的元素 i--; // 调整循环索引 } } console.log(arr); // 输出 [1, 2, 4, 5] ``` 2. 使用 forEach 方法:数组的 `forEach` 方法可以用来遍数组,并对每个元素执行指定的回调函数。在回调函数中,你可以使用 `splice` 方法删除当前元素。然而,与 for 循环一样,需要注意删除元素后数组长度的变化。 ```javascript var arr = [1, 2, 3, 4, 5]; arr.forEach(function(element, index, array) { if (element === 3) { array.splice(index, 1); // 删除索引为 index 的元素 } }); console.log(arr); // 输出 [1, 2, 4, 5] ``` 3. 使用 filter 方法:`filter` 方法创建一个新数组,其中包含满足指定条件的所有元素。你可以为 `filter` 方法提供一个回调函数,用于检查是否应该保留或删除当前元素。 ```javascript var arr = [1, 2, 3, 4, 5]; arr = arr.filter(function(element) { return element !== 3; // 保留不等于 3 的元素 }); console.log(arr); // 输出 [1, 2, 4, 5] ``` 这些方法各有优缺点,你可以根据具体需求选择适合的方法。注意,在使用任何方法时,请仔细考虑循环索引的调整和数组长度的变化,以避免遍问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值