簡體   English   中英

在ES6中的對象數組中設置鍵的值?

[英]Set value of a key in an array of objects in ES6?

ES6中是否有一種方法可以將對象數組中所有對象中的鍵值設置為新值。

[
    {title: 'my title', published: false},
    {title: 'news', published: true}, 
    ...
]

例如,將每個項目的published值設置為true

您的示例中的數組只是對象的一維數組。

您可以使用forEach和lambda來執行您要求的操作:

array.forEach(element => element.published = true);

使用map

arr = arr.map( s => (s.published = true, s) );

編輯

也不需要設置返回值

arr.map( s => (s.published = true, s) );

就足夠了

演示版

 var arr = [{ title: 'my title', published: false }, { title: 'news', published: true } ]; arr.map(s => (s.published = true, s)); console.log(arr); 

我會使用循環。

arr表示您的對象數組

var result = []
for (var i = 0; i < arr.length; i++) {
  result.push([arr[i].title, arr[i].published])
}
console.log(result)

這將導致[['my Title', false], ['news', true]]

如果您不想循環,則可以使用index進行引用。

    a = [
        {title: 'my title', published: false},
        {title: 'news', published: true}
        ]

a[0].published= true;
a[1].published= true;

或循環

        for (val in a) {
            a[val].published = true;
        }

您可以將map功能與點差運算符一起使用

let array = [ { title: 'my title', published: false }, { title: 'news', published: true } ]

array = array.map(t => t.published !== true ? { ...t, published: true } : t)

暫無
暫無

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

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