图书馆系列:数组-数组的各种方法。
数组for循环删除符合条件的元素,给你这样的数据:
let arr = [1, 2, 3, 321, 456];
// 删除能被2整除的项,即 n%2 === 0的,将之变为:
[1, 3, 321]
笨笨的开发:
let arr = [1, 2, 3, 321, 456];
let arr2 = JSON.parse(JSON.stringify(arr)), num = 0;
for (let i = 0, l = arr2.length; i<l; i++) {
if (arr2[i]%2 === 0) {
arr.splice(i-num, 1);
num++;
}
}
一般的开发:
let arr = [1, 2, 3, 321, 456], n = 0;
for(let i = 0, l = arr.length; i<l; i++) {
if (arr[i-n]%2 === 0) {
arr.splice(i-n, 1);
n++;
}
}
聪明开发:
let arr = [1, 2, 3, 321, 456]
for(let i = 0; i < arr.length;) {
if (arr[i]%2 === 0) {
arr.splice(i, 1)
}
}
这题主要用于考察面试者的js基础,看看他对数组for循环的掌握,因为for循环是我们开发常用的,每一次的循环数据的变化我们必须要清楚,包括数组本身。