Javascript 格式化对象的json数组

Javascript 格式化对象的json数组,javascript,angularjs,Javascript,Angularjs,我正在尝试创建一个json对象数组 我的数组是 var array=[{a:1,b:2,id:apple},{a:5,b:10,id:banana}] 我想输出它,使数组的格式为: [{source:apple, target:a ,value:1},{source:apple, target:b ,value:2},{source:banana, target:a ,value:5},{source:banana, target:b ,value:10}] 谢谢你的帮助 只需使用JSON.

我正在尝试创建一个json对象数组

我的数组是

var array=[{a:1,b:2,id:apple},{a:5,b:10,id:banana}]
我想输出它,使数组的格式为:

[{source:apple, target:a ,value:1},{source:apple, target:b ,value:2},{source:banana, target:a ,value:5},{source:banana, target:b ,value:10}]
谢谢你的帮助

只需使用JSON.stringifyarray就很简单了

您可以使用reduce和Object.keys来获得这个结果

var数组=[{a:1,b:2,id:'apple'},{a:5,b:10,id:'banana'}]; var result=array.reduceFunction,e{ Object.keyse.forEachfunctionk{ ifk!=“id”r.push{source:e.id,target:k,value:e[k]} } 返回r; }, [];
console.logresult本机未测试解决方案为:

函数myFormatobjects{ 格式化的var=[]; forvar i=0;iconsole.logmyFormatarray;谢谢你,你的回答是正确的。但是如果在一个对象中有500个键值对,它就不起作用了。不管属性的数量有多大,它都应该起作用