将javascript对象转换为单个对象的数组

dc0*_*087 1 javascript arrays loops object

我有以下对象:

{English: 4, Math: 5, CompSci: 6}
Run Code Online (Sandbox Code Playgroud)

如何将其转换为对象数组,例如:

[{English: 4}, {Math: 5}, {CompSci: 6}]
Run Code Online (Sandbox Code Playgroud)

在任何地方找不到答案.谢谢!!

Ray*_*yon 9

使用Array#forEach结束Object.keys(YOUR_OBJECT)

var input = {
  English: 4,
  Math: 5,
  CompSci: 6
};
var op = [];
Object.keys(input).forEach(function(key) {
  var obj = {};
  obj[key] = input[key];
  op.push(obj); //push newly created object in `op`array
});
console.log(op);
Run Code Online (Sandbox Code Playgroud)


Nin*_*olz 6

使用较新的 JS,您可以获取Object.entries和映射单个属性。

var object = { English: 4, Math: 5, CompSci: 6 },
    array = Object.entries(object).map(([k, v]) => ({ [k]: v }));

console.log(array);
Run Code Online (Sandbox Code Playgroud)