我想创建一个如下所示的对象数组
var selection_json_str=[
{
"idx":0,
"fieldname":"%Key0",
"fieldvalue": [
"05-5003",
"05-5005",
"06-6007",
"06-6009"]
},
{
"idx":1,
"fieldname":"%Key1",
"fieldvalue": [
"5003",
"5005",
"6007",
"6009"]
},
{
"idx":2,
"fieldname":"%Key2",
"fieldvalue":[
"1",
"1"]
}
]
var noCols = _this.Data.HeaderRows[0].length;
var selection_json_str = {}
for (var c = 0; c < noCols; c++) {
var t = [];
var a = []
for (var r = 0; r < _this.Data.Rows.length; r++) {
a.push(_this.Data.Rows[r][c].text);
}
//ConsoleInfo(a);
//ConsoleInfo(GetUnique(a)); Get Unique Key from the list
selection_json_str[c] = {
idx: c,
fieldname: _this.Data.HeaderRows[0][c].text,
fieldvalue:GetUnique(a)
};
}
我有一个代码,我必须更改它才能获得上述输出,任何人都可以在这里帮助我。我需要在 Selection_json_str 中有对象数组。有谁能帮帮我吗?
最佳答案
尝试:
var selection_json_str = new Array();
for (var c = 0; c < noCols; c++) {
var t = [];
var a = []
for (var r = 0; r < _this.Data.Rows.length; r++) {
a.push(_this.Data.Rows[r][c].text);
}
//ConsoleInfo(a);
//ConsoleInfo(GetUnique(a)); Get Unique Key from the list
selection_json_str.push({
idx: c,
fieldname: _this.Data.HeaderRows[0][c].text,
fieldvalue:GetUnique(a)
});
}
一些额外的解释:
我已将 Selection_json_str 更改为 new Array(),这样我们就知道那里会有什么类型的数据。当我添加一个新元素时,我只需调用 Selection_json_str.push(element) 。没有必要调用push,但我更喜欢在向数组添加内容时调用push。它可以更好地理解代码。 (恕我直言)
循环完成后,我们将在 Selection_json_str 中拥有对象数组
关于Javascript 对象代码数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32311807/