- 删除数组中某个指定值的元素(已知值,考虑到这个指定值可能重复)
- 删除数组中某一项(已知索引)
删除某个指定值
删除元素值为pear的元素
思路:先对数组去重,再删除指定值。
let fruits = ['apple', 'pear', 'peach', 'banana', 'pear'];
let uniqArr = Array.from(new Set(fruits));//去重
let index = uniqArr.indexOf('pear');//找到指定值的下标
uniqArr.splice(index, 1);
console.log(uniqArr);//[ 'apple', 'peach', 'banana' ]
删除某一项
删除第3项
方法一:
let fruits = ['apple', 'pear', 'peach', 'banana', 'pear'];
fruits.splice(2, 1)
console.log(fruits);//[ 'apple', 'pear', 'banana', 'pear' ]
方法二:
let fruits = ['apple', 'pear', 'peach', 'banana', 'pear'];
delete fruits[2];
let newArr = [];
for (let item of fruits) {
if (typeof(item) !== 'undefined') {
newArr.push(item)
}
}
console.log(newArr);
总结:
- splice(startIndex,howmany) 删除howmany(非0)个数组元素,且改变原数组
- delete删除掉数组中的元素后,会把该下标处的值置为undefined,数组的长度不会变
- 数组去重方法