JS删除数组(对象数组)中的指定元素
JS删除数组中的指定元素
·
以下列举的方法,基本能够满足数组内元素的删除,如果是多层嵌套的数组,也可使用,在该方法上循坏使用
1.filter
filter:将数组中符合条件的元素保存到一个新的数组中(过滤数组中的元素)
// 对象数组
let arr = [
{name:"张三",age:18},
{name:"李四",age:19},
{name:"王五",age:20}
]
let list = arr.filter((val) => val.name !== '张三')
console.log(list);
// 数组
let arr = [
4,5,7,9
]
let list = arr.filter((val) => val !== 9)
console.log(list);
2.slice
splice:通过删除或替换现有元素或者原地添加新的元素来修改数组,并以新的数组形式返回被修改的内容
参数1:指定修改的开始位置
参数2:整数,表示要移除的数组元素的个数
参数3:要添加进数组的元素,从
start
位置开始。如果不指定,则splice()
将只删除数组元素
let arr = [1,2,3,4,5]
let result = arr.splice(2,1)
console.log(result); // 返回一个数组
3.for循坏
for循坏遍历,生成新数组,往新数组中添加除被删除元素之外的元素
indexOf:返回在数组中找到给定元素的第一个索引,如果不存在则返回-1
// 数组
let arr = [22,55,99,88,44]
let list = []
console.log(arr.indexOf(22));
for(let i=0;i<arr.length;i++){
if(i !== arr.indexOf(22)){
list.push(arr[i])
}
}
console.log(list);
// 对象数组
let arr = [
{name:"张三",age:18},
{name:"李四",age:19},
{name:"王五",age:20}
]
let list = []
for(let i=0;i<arr.length;i++){
if(arr[i].name !== '张三'){
list.push(arr[i])
}
}
console.log(list);
谢谢
更多推荐
已为社区贡献1条内容
所有评论(0)