我有一个带有键值对的 javascript 对象,我想将每一对作为单独的对象分开并将其推送到数组中,我该怎么做?
var obj = new Object();
obj = {
v1 : 'k1',
v2 : 'k2',
v3 : 'k3'
}
a =[];
Object.entries(obj).forEach(
([key, value]) => {
a.push({key : value});
});
console.log(a);
这是我的预期输出:
[{v1 : 'k1'}, {v2 : 'k2'}, {v3 : 'k3'}]
最佳答案
你差不多明白了。要从变量(称为 Computed property names)创建动态属性,您需要在 key
周围添加 []
。否则,它只是创建一个仅以“key”作为 key
的对象:
Object.entries(obj).forEach(([key, value]) => {
a.push({ [key] : value });
// ↑↑
});
或者,使用 map
更简单:
const obj = {v1:'k1',v2:'k2',v3:'k3'},
a = Object.entries(obj).map(([key, value]) => ({[key] : value}));
console.log(a);
关于具有键值对的 Javascript 对象,如何将每一对作为单独的对象分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54160279/