[英]Lodash way of adding property to object
我有一個對象
{ id1: {name: 'John'}, id2: {name: 'Mary'} }
我需要為每個人assign
一個財產。 我需要實現這一目標
{ id1: {name: 'John', married: false}, id2: {name: 'Mary', married: false} }
我可以通過forEach
在_.values
做到這一點,但這似乎不是最好的方法。 有沒有LoDash方法來做到這一點
使用_.mapValues
var res = _.mapValues(data, function(val, key) {
val.married = false;
return val;
})
防止原始數據的變異
var res = _.mapValues(data, function(val, key) {
return _.merge({}, val, {married: false});
})
原地變異
_.mapValues(data, function(val, key) {
val.married = false;
})
ES6 版本,可能也是最快的...?
var obj = { id1: {name: 'John'}, id2: {name: 'Mary'} } for (let [key, val] of Object.entries(obj)) val.married = false console.log(obj)
使用 _.mapValues,
let rows = { id1: {name: 'John'}, id2: {name: 'Mary'} };
_.mapValues(rows, (value, key) => {
value.married = false;
});
輸出:-
{id1: {name: "John", married: false}, id2: {name: "Mary", married: false}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.