将对象转换为对象数组

我从WCF调用返回以下javascript对象,这已从字典对象序列化,删除了键/值属性

Object { 7="XXX", 9="YYY" } 

我想将此javascript转换为以下数组,结果为

 [Object { Key=7, Value="XXX"}, Object { Key=9, Value="YYY"}] 

我正在使用jquery客户端库。

任何人都知道如何将对象转换为具有键/值属性的对象数组?

这是一个可重用的function,可以解决您的问题:

 // Object { 7="XXX", 9="YYY" } var bad = { 7 : "XXX", 9 : "YYY" }; function fix(input) { var output = [], index; for(index in input) { output.push({ "KEY" : index, "VALUE" : input[index] }); } return output; } // [Object { Key=7, Value="XXX"}, Object { Key=9, Value="YYY"}] var good = fix(bad); 

你可以这样做:

 var output = []; for (var key in result) { output.push({ Key: key, Value: result[key] }); } 

result是您的WCF结果。 请记住,javascript对象本质上是map,所以我可以做obj.Name ,我也可以做obj["Name"] ,我可以枚举地图中的成员,例如: for (var prop in obj) { // Stuff

 a = { "7": "XXX", "9": "YYY" } var array = []; for(var key in a){ array.push({key: key, value: a[key]}) } 

使用Javascript,您可以获取对象的条目并映射键/值对。

 var object = { 7: "XXX", 9: "YYY" }, array = Object .entries(object) .map(([key, value]) => ({ [key]: value })); console.log(array);