Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript对象合并为csv格式_Javascript_Arrays_Csv_Object - Fatal编程技术网

将javascript对象合并为csv格式

将javascript对象合并为csv格式,javascript,arrays,csv,object,Javascript,Arrays,Csv,Object,通过组合四个不同的数据集data1、data2、data3、data4, 所有要合并的名称和要添加的值 var data1 = [{name:"js",value:"20"}], data2=[{name:"c#",value:10}], data3=[{name:"ds",value:30}], data4 = [{name:"java",value:10},{name:"c",value:40}] 预期产量 output = "js-c#-ds-java,70\n\ js-c#-ds-c

通过组合四个不同的数据集data1、data2、data3、data4, 所有要合并的名称和要添加的值

var 
data1 = [{name:"js",value:"20"}],
data2=[{name:"c#",value:10}],
data3=[{name:"ds",value:30}],
data4 = [{name:"java",value:10},{name:"c",value:40}]
预期产量

output = "js-c#-ds-java,70\n\
js-c#-ds-c,100\n"

如果您需要如此奇怪的输入,则如下所示:

变量 data1=[{name:js,value:20}], data2=[{name:c,value:10}], data3=[{name:ds,value:30}], data4=[{name:java,value:10},{name:c,value:40}] var项,nameStack=[],sums={},output=; var i=1; whileitem=窗口[data+i++]{ var dashName=nameStack.join'-',val; 如果dashName{ val=总和[dashName]; }else val=0; 项目中的forvar j{ var-dashName2; nameStack.pushitem[j].name; dashName2=nameStack.join'-'; sums[dashName2]=val+parseIntitem[j]。值; ifitem.length>1 nameStack.pop; } 删除总和[dashName]; } console.logJSON.stringifysums 总计项{ 输出+=项+,+和[项]+\n }
console.logoutput现金从哪里来?你的代码在哪里?不清楚你是如何得到js-cash-ds-c的,100对不起,output=js-c-ds-java,70\n\n js-c-ds-c,100\n你能整理一下你原来的问题吗?它的格式很差,这使我们更难帮助您。不建议使用eval,您应该将其从您的答案中删除。好的,还有另一个访问var indirect的选项,但不要认为有人会有这样的输入-嘿,有一个错误-name.join不是函数对不起-没有注意到在某些浏览器中有一个全局名称字符串,您不能将其更改为数组,现在在FF、Chrome中也可以使用。解释如下