JS数组对象删除详解

发布时间:2023-05-19

一、js删除数组对象元素

let arr = ['a', 'b', 'c'];
arr.splice(1, 1);
console.log(arr);
//输出 ['a', 'c']

通过使用 splice 方法,可以删除数组中指定位置的元素。splice 方法的第一个参数是要删除的元素的起始位置,第二个参数是要删除的元素数量。 在上述代码中,第一个参数为 1,表示从数组的第二个位置开始删除,第二个参数为 1,表示删除一个元素,所以结果中 b 被删除。

二、js删除数组对象中的某个属性

let arr = [
    {name: 'Tom', age: 20},
    {name: 'Mike', age: 25},
    {name: 'Lily', age: 18}
];
for(let i = 0; i < arr.length; i++) {
    delete arr[i].age;
}
console.log(arr);
//输出 [{name: 'Tom'}, {name: 'Mike'}, {name: 'Lily'}]

通过使用 delete 关键字,可以删除对象中的指定属性。 在上述代码中,通过 for 循环遍历数组,使用 delete 关键字删除 age 属性。

三、js删除数组对象中指定属性

let arr = [
    {name: 'Tom', age: 20},
    {name: 'Mike', age: 25},
    {name: 'Lily', age: 18}
];
for(let i = 0; i < arr.length; i++) {
    arr[i] = {
        name: arr[i].name
    }
}
console.log(arr);
//输出 [{name: 'Tom'}, {name: 'Mike'}, {name: 'Lily'}]

通过遍历数组,可以使用对象字面量重新创建一个只包含需要保留属性的新对象,达到删除指定属性的目的。 在上述代码中,通过 for 循环遍历数组,使用对象字面量创建一个只包含 name 属性的新对象,替换原来的对象。

四、js删除数组数据

let arr = ['a', 'b', 'c'];
arr.length = 0;
console.log(arr);
//输出 []

通过将数组长度设置为 0,可以清空数组中的所有数据。 在上述代码中,设置数组的长度为 0,实现删除数组数据的效果。

五、js删除数组对象的属性

let obj = {name: 'Tom', age: 20};
delete obj.age;
console.log(obj);
//输出 {name: 'Tom'}

跟第二个小标题相同,通过使用 delete 关键字,可以删除对象中的指定属性。 在上述代码中,使用 delete 关键字删除 age 属性,达到删除对象属性的效果。

六、js数组删除指定对象

let arr = [
    {name: 'Tom', age: 20},
    {name: 'Mike', age: 25},
    {name: 'Lily', age: 18}
];
let index = arr.findIndex(item => item.name === 'Mike');
arr.splice(index, 1);
console.log(arr);
//输出 [{name: 'Tom', age: 20}, {name: 'Lily', age: 18}]

通过使用 findIndexsplice 方法,可以删除数组中指定对象。 在上述代码中,使用 findIndex 方法找到 name 等于 Mike 的对象的索引位置,然后使用 splice 方法删除该对象。

七、js删除数组对象最后一项

let arr = [
    {name: 'Tom', age: 20},
    {name: 'Mike', age: 25},
    {name: 'Lily', age: 18}
];
arr.pop();
console.log(arr);
//输出 [{name: 'Tom', age: 20}, {name: 'Mike', age: 25}]

使用 pop 方法可以删除数组对象的最后一项。 在上述代码中,使用 pop 方法删除数组的最后一项。

八、js删除数组对象中一条对象

let arr = [
    {name: 'Tom', age: 20},
    {name: 'Mike', age: 25},
    {name: 'Lily', age: 18}
];
let newarr = arr.filter(item => item.name !== 'Mike');
console.log(newarr);
//输出 [{name: 'Tom', age: 20}, {name: 'Lily', age: 18}]

通过使用 filter 方法,可以删除数组对象中的一条对象。 在上述代码中,使用 filter 方法返回不包含 name 等于 Mike 的对象的新数组。

九、js删除数组对象中某一条数据

let arr = [
    {name: 'Tom', age: 20},
    {name: 'Mike', age: 25},
    {name: 'Lily', age: 18}
];
let index = arr.findIndex(item => item.name === 'Mike');
arr[index].age = undefined;
console.log(arr);
//输出 [{name: 'Tom', age: 20}, {name: 'Mike'}, {name: 'Lily', age: 18}]

通过将属性设置为 undefined,可以删除数组对象中的某一条数据。 在上述代码中,使用 findIndex 方法找到 name 等于 Mike 的对象的索引位置,然后将 age 属性设置为 undefined,达到删除该属性的效果。