[英]How to transform array of objects into one object by Lodash
來自此的示例:
[
{"name":"tony", "age":14},
{"name":"jacky", "age":23},
{"name":"lucy", "age":34},
{"name":"sam", "age":15},
{"name":"jay", "age":31}
]
至:
{
"tony": [],
"jacky": [],
"lucy": [],
"sam": [],
"jay": []
}
無需使用Lodash
。 Array.prototype.reduce()
將完成這項工作。
const data = [ {"name":"tony", "age":14}, {"name":"jacky", "age":23}, {"name":"lucy", "age":34}, {"name":"sam", "age":15}, {"name":"jay", "age":31} ]; const result = data.reduce((acc, curr) => { acc[curr.name] = []; return acc; }, {}); console.log(result);
嘗試使用Array#forEach
函數。
var arr =[ {"name":"tony", "age":14}, {"name":"jacky", "age":23}, {"name":"lucy", "age":34}, {"name":"sam", "age":15}, {"name":"jay", "age":31} ] var obj={} arr.forEach(function(a){ obj[a.name]=[] }) console.log(obj)
或簡單地使用Array#reduce
var arr =[ {"name":"tony", "age":14}, {"name":"jacky", "age":23}, {"name":"lucy", "age":34}, {"name":"sam", "age":15}, {"name":"jay", "age":31} ] var res = arr.reduce((a,b) => (a[b.name]=[] ,a),{}) console.log(res)
如果您不想使用for
或reduce
,那么這是一個單點划線
_(data).keyBy('name').mapValues(() => []).value()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.