簡體   English   中英

下划線從對象元素創建對象數組

[英]Underscore Create array of objects from object elements

你好我有這樣的對象:

var obj = { banana: 1425, orange: 1683}

我需要基於項目創建的對象數組。 例如:

[{name: banana, value: 1425}, {name: orange, value: 1683}]

我是這樣做的:

var fruits = [];
_.each(obj, function(value, name){
    fruits.push({
        name: name,
        value: value
    });
});

也許你知道一個更簡單的方法?

您可以在對象上使用下划線的_.map:

var obj = { banana: 1425, orange: 1683};

var fruits = _.map(obj, function(value, key){
  return { name : key, value : value };
});

http://underscorejs.org/#map

你也可以使用Object.entries()

let myobj = {banana: 1425, orange: 1683};
let entries = Object.entries(myobj); // => [['banana', 1425], ['orange', 1683]];


//and if you want it in array-object format:
let other_format = Object.entries(myobj).map(entry => {
    return {[entry[0]]: entry[1]}
}); // => [{banana: 1425}, {orange: 1683}]

暫無
暫無

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

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