簡體   English   中英

不使用刪除操作符從 JavaScript 對象中刪除屬性

[英]Delete a property from JavaScript object without using delete operator

我需要從對象中提取某些屬性並分配給新對象。 以傳統方式,我可以手動將對象屬性所需的內容分配給新對象的屬性。

目前我在原始對象上使用刪除運算符並創建一個新對象。

有沒有更好的方法來做到這一點。

您可以分解對象並選擇不需要的對象,然后將其余部分作為結果對象。

它用

 var object = { a: 1, b: 2, c: 3 }, key = 'a', { [key]:_, ...result } = object; console.log(result); 

使用ES6解構運算符,您可以

ler arr = [{id:1, name: foo}, {id:2, name: bar}]
arr.map({id, ...item} => {
   return item
})

考慮您要刪除id屬性,以上代碼將刪除id屬性並返回包含name屬性的對象。

您必須通過復制舊屬性中的所有屬性來創建新對象,但要刪除的屬性除外:

 const person = {
      name: 'abc',
      age: 25
    };

    console.log(person);

    const age = 'age';

    const newPerson = Object.keys(person).reduce((object, key) => {
      if (key !== age) {
        object[key] = person[key]
      }
      return object
    }, {});

    console.log(newPerson);

暫無
暫無

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

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