我有一个javascript对象如下:
[{name:'bla', ts:['a','b','c'], ms: ['d','e','f']}]
如果没有一堆临时对象,我可以将其转化为对象的最有效方法如下:
[{name:'bla',ts:'a',ms:'d'},
{name:'bla',ts:'b',ms:'e'},
{name:'bla',ts:'c',ms:'f'}]
我愿意使用像lodash或者下划线这样的东西来实现这一目标。
答案 0 :(得分:0)
它很难看但有效(并且很容易添加'额外'字段)
var a = [{name:'bla', ts:['a','b','c'], ms: ['d','e','f']}]
var result = [];
a.forEach(function(obj){
obj.ts.forEach(function(item, index) {
result.push({
name: obj.name,
ts: item,
ms: obj.ms[index]
})
})
})
console.log(result)
答案 1 :(得分:0)
var arr = [{
name: 'bla',
ts: ['a', 'b', 'c'],
ms: ['d', 'e', 'f']
}];
function parseArray(arr) {
var result = [];
arr.forEach(function(obj) {
for (var i = 0; i < obj.ts.length; i++) {
result.push({
name: obj.name,
ts: obj.ts[i],
ms: obj.ms[i]
});
}
});
return result;
}
console.log(parseArray(arr));