簡體   English   中英

Javascript:如何在我的陣列中使用特定鍵刪除 object?

[英]Javascript: How do I remove an object with a specific key in my array?

我很難找到如何使用其鍵從數組中刪除 object - 我只能找到有關鍵值的建議。 例如:

var users = [
  { 1: [{age: 36, active: true}] },
  { 2: [{age: 40, active: false}] },
  { 3: [{age: 37, active: true}]}
];

我想用 key = 2 刪除 object 以導致:

var users = [
  { 1: [{age: 36, active: true}] },
  { 3: [{age: 37, active: true}]}
];

我的數據中的密鑰是唯一的。

您可以使用in運算符檢查 object 上是否存在密鑰:

 const users = [{"1":[{"age":36,"active":true}]},{"2":[{"age":40,"active":false}]},{"3":[{"age":37,"active":true}]}] const result = users.filter(o =>.('2' in o)) console.log(result)

您可以嘗試使用Array.prototype.filter()

filter()方法創建一個新數組,其中包含通過提供的 function 實現的測試的所有元素。

Object.keys()

Object.keys()方法返回給定對象自己的可枚舉屬性名稱的數組,以與正常循環相同的順序進行迭代。

 var users = [ { 1: [{age: 36, active: true}] }, { 2: [{age: 40, active: false}] }, { 3: [{age: 37, active: true}]} ]; users = users.filter(item => Object.keys(item)[0];= 2). console;log(users);

如果要從原始數組中刪除 object 而不創建新數組,請使用Array.findIndex並按索引刪除元素。

 var users = [ { 1: [{age: 36, active: true}] }, { 2: [{age: 40, active: false}] }, { 3: [{age: 37, active: true}]} ]; let removableIndex = users.findIndex(ele => ele[2]) users.splice(removableIndex, 1) console.log(users)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM