这是我的对象结构
parallel -k ...
这里是另一个对象
var obj = {'name':string,'place':string};
我想把它推到合适的物体上
var arr =
{
'a':Alpha,
'b':Australia,
'a_x':Beta,
'b_y':Canada,
'a_3':Charlie,
'b_4':China,
}
不知道如何开始迭代
请提供帮助。预先感谢
答案 0 :(得分:1)
我们使用Object.values
对值进行迭代;和Array.reduce
建立遍历原始数据的最终数组。
const arr = {
a: 'Alpha',
b: 'Australia',
a_x: 'Beta',
b_y: 'Canada',
a_3: 'Charlie',
b_4: 'China',
};
const finalArray = Object.values(arr).reduce((tmp, x, xi) => {
// only treat one on two
if (!(xi % 2)) return tmp;
return [
...tmp,
{
// Get the previous key value
name: arr[Object.keys(arr)[xi - 1]],
place: x,
},
];
}, []);
console.log(finalArray);
答案 1 :(得分:1)
您可以遍历对象的值,并根据索引将对象压入数组。
const input = { 'a': 'Alpha', 'b': 'Australia', 'a_x': 'Beta', 'b_y': 'Canada', 'a_3': 'Charlie', 'b_4': 'China' },
result = Object.values(input).reduce((r,k,i) => {
i%2 == 0 ? r.push({name: k}) : r[Math.floor(i/2)].place = k;
return r;
},[]);
console.log(result);