1.使用filter()方法筛选符合条件的元素,去除不符合条件的元素
let arr = [1, 1, 2];
arr = arr.filter(item => {
return item != 1;
});
console.log(arr);
2.删除下标i的时候执行 i–(使下标回退一个位置)
let arr = [1, 1, 2];
for (let i = 0; i < arr.length; i++) {
if (arr[i] == 1) {
arr.splice(i, 1);
i--;
}
}
console.log(arr);
3.从后向前遍历,这样就算后面的数据前移,也不影响继续遍历
let arr = [1, 1, 2];
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i] == 1) {
arr.splice(i, 1);
}
}
console.log(arr);
4.使用map
private testDelMap(): void {
let m: Map<string, number> = new Map();
m.set("a", 1);
m.set("b", 2);
m.set("c", 3);
m.set("d", 3);
m.set("a", 4);
for (let [k, v] of m) {
console.log("map k:", k, v);
}
for (let [k, v] of m) {
if (v == 3) {
m.delete(k);
}
}
for (let [k, v] of m) {
console.log("new map k:", k, v);
}
}