[英]How to convert an array to an object in Lodash?
我有:
{
dis:{["String1","String2","String3"]},
par:"pony"
}
我想把它變成這樣:
[
{ name: 'String1', value: "pony" },
{ name: 'String2', value: "pony" },
{ name: 'String3', value: "pony" }
]
如果更改為有效的js數據,則可以使用reduce()
進行此操作
var obj = { dis: ["String1", "String2", "String3"], par: "pony" } var result = obj.dis.reduce(function(r, e) { r.push({name: e, value: obj.par}); return r; }, []); console.log(result)
您可以輕松完成此操作,但是請注意,您要使用雙括號(小括號和方括號)。
var
data = {
dis: ["String1","String2","String3"],
par: "pony"
},
result = [];
for (var index in data.dis)
result.push({ name: data.dis[index], value: data.par}
你可以在這里找到小提琴。
您可以使用Array.protoype.map做到這一點:
var obj = { dis:["String1","String2","String3"], par:"pony" }; var arrOfObj = obj.dis.map(function(name) { return { name: name, value: obj.par } }); console.log(arrOfObj)
或lodash的_.map :
var obj = { dis:["String1","String2","String3"], par:"pony" }; var arrOfObj = _.map(obj.dis, function(name) { return { name: name, value: obj.par } }); console.log(arrOfObj);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.13.1/lodash.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.