我有来自PHP API的这个对象:
[Object { span=1, caption="Particular", master=true},
Object { span=5, caption="Loan Class 1"},
Object { span=5, caption="Loan Class 2"},
Object { span=5, caption="Loan Class 3"}]
所需的输出是:
## Particular Loan Class 1 Loan Class 2 Loan Class 3 ##
我试着这样做:
var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
for (var index in arrData[0]) {
row += index + ',';}
row = row.slice(0, -1);
CSV += row + '\r\n';
csv是什么样的
## span caption master ##
请帮助如何获取标题值以及是否有一个脚本将在excel中输出,因为需要添加一些列的合并。
答案 0 :(得分:1)
您应该遍历整个数组,而不仅仅是arrData[0]
中的对象。并且您不应该使用for (index in object)
,只需将index
设置为键,而不是值。然后,要访问字幕,请使用.caption
。
for (var i = 0; i < arrData.length; i++) {
row += arrData[i].caption + ',';
}
答案 1 :(得分:0)
对于标题部分,您可以使用:
var row = arrData.map(function(element) {
return element.caption;
}).join(' ');
.map
用于提取数组中所有元素的标题值。生成的数组值与.join
连接在一起。您可以将分隔符指定为.join
函数的参数。
以Excel文件格式编写任何内容并非易事。除非您希望以CSV格式显示结果(您的代码示例暗示)。为此,您可能需要查看此answer。