数组元素的筛选
eg.
将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中的 0 去掉后,形成一个不包含 0 的新数组
- 方法一
- 声明一个新的数组用于存放新数据newArr
- 遍历原来的旧数组, 找出不等于0的元素
- 依次追加给新数组 newArr
//声明数组
let arr = [2, 0, 0, 6, 1, 77, 0, 52, 0, 25, 7]
//声明一个新的空数组
let newArr = []
//遍历数组
for (let i = 0; i < arr.length; i++) {
//从数组中筛选出不等于0的元素
if (arr[i] !== 0) {
//依次追加给新数组 newArr
newArr.push(arr[i])
}
}
//控制台打印输出得到的新数组
console.log(newArr);
- 方法二
- 遍历原来的旧数组, 找出不等于0的元素
- 依次从原来的旧数组中删除
- i自减,使删除元素之后下标对上删除之前的元素
//声明数组
let arr = [2, 0, 0, 6, 1, 77, 0, 52, 0, 25, 7]
//遍历数组
for (let i = 0; i < arr.length; i++) {
//从数组中筛选出等于0的元素
if (arr[i] === 0) {
//使用splice删除整个元素
arr.splice(i, 1)
//元素删除后,后面元素的下标会减少1,所以i自减,使删除元素之后下标对上删除之前的元素
i--
}
}
//控制台打印输出得到的新数组
console.log(arr);