Javascript 如何删除关联数组中的对象
在本文中,我们将学习如何从Javascript的关联数组中删除对象。在Javascript中,你可以使用以下方法从关联数组(也称为对象)中删除对象。
方法:
- 使用Javascript的delete操作符
- 使用Javascript的Array.filter()方法
- 使用Lodash的_.omit方法
方法1:使用Javascript的delete操作符
声明一个包含键值对对象的关联数组。然后使用delete关键字从关联数组中删除该数组对象。
示例1: 这个示例使用delete关键字从关联数组中删除对象。
function deleteObjects() {
// Declaring an associative
// array of objects
let arr = new Object();
// Adding objects in array
arr['key'] = 'Value';
arr['geeks'] = 'GeeksforGeeks';
arr['name'] = 'Rajnish';
// Checking object exist or not
console.log(arr['name']);
// Removing object from
// associative array
delete arr['name'];
// It gives result as undefined
// as object is deleted
console.log(arr['name']);
}
// Calling function
deleteObjects();
输出
Rajnish
undefined
示例2: 使用delete关键字从关联数组中删除对象。
function deleteObjects() {
// Declaring an associative
// array of objects
let arr = new Object();
// Adding objects in array
arr['key'] = 'Value';
arr['geeks'] = 'GeeksforGeeks';
arr['name'] = 'Rajnish';
// Checking object exist or not
console.log(arr['geeks']);
// Removing object from
// associative array
delete arr.geeks;
// It gives result as undefined
// as object is deleted
console.log(arr['geeks']);
}
// Calling function
deleteObjects();
输出
GeeksforGeeks
undefined
方法2:使用JavaScript Array.filter()方法
JavaScript Array filter()方法用于从给定的数组中创建一个新数组,该数组仅包含满足由参数方法设置的条件的元素。
语法:
array.filter(callback(element, index, arr), thisValue)
示例:
function deleteObjects() {
// Declaring an associative
// array of objects
let arr = new Object();
// Adding objects in array
arr['key'] = 'Value';
arr['geeks'] = 'GeeksforGeeks';
arr['name'] = 'JavaScript';
// Checking object exist or not
console.log(arr['name']);
// Removing object from
// associative array
const updatedArray = Object.fromEntries(
Object.entries(arr).filter(([key]) => key !== 'name')
);
// It gives result as undefined
// as object is deleted
return updatedArray;
}
// Calling function
console.log(deleteObjects());
输出
JavaScript
{ key: 'Value', geeks: 'GeeksforGeeks' }
方法3:使用Lodash的_.omit方法
Lodash是一个在underscore.js之上工作的JavaScript库。Lodash可以帮助处理数组、字符串、对象、数字等。
_.omit()
方法用于返回给定对象的自身和继承的可枚举属性路径中未被省略的属性的副本。它是_.pick()方法的反义。
语法:
_.omit( object, paths )
示例:
function deleteObjects() {
const _ = require("lodash");
// Declaring an associative
// array of objects
let arr = new Object();
// Adding objects in array
arr['key'] = 'Value';
arr['geeks'] = 'GeeksforGeeks';
arr['name'] = 'JavaScript';
// Checking object exist or not
console.log(arr['key']);
// Removing object from
// associative array
const updatedArray = _.omit(arr, 'key');
// It gives result as undefined
// as object is deleted
return updatedArray;
}
// Calling function
console.log(deleteObjects());
输出:
Value
{ geeks: 'GeeksforGeeks', name: 'JavaScript' }