Javascript 如何删除关联数组中的对象

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();
JavaScript

输出

Rajnish
undefined
JavaScript

示例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();
JavaScript

输出

GeeksforGeeks
undefined
JavaScript

方法2:使用JavaScript Array.filter()方法

JavaScript Array filter()方法用于从给定的数组中创建一个新数组,该数组仅包含满足由参数方法设置的条件的元素。

语法:

array.filter(callback(element, index, arr), thisValue)  
JavaScript

示例:

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

输出

JavaScript
{ key: 'Value', geeks: 'GeeksforGeeks' }
JavaScript

方法3:使用Lodash的_.omit方法

Lodash是一个在underscore.js之上工作的JavaScript库。Lodash可以帮助处理数组、字符串、对象、数字等。

_.omit() 方法用于返回给定对象的自身和继承的可枚举属性路径中未被省略的属性的副本。它是_.pick()方法的反义。

语法:

_.omit( object, paths )  
JavaScript

示例:

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());
JavaScript

输出:

Value  
{ geeks: 'GeeksforGeeks', name: 'JavaScript' }  
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册