我需要在下面的代码中更改以接收不带每个元素引号的数组(最好是:如果它们有逗号)
我需要什么:
myData = [
{id:0,
label:"First",
color:"#ffffff",
value:"30"},
{id:1,
label:"Second",
color:"#000000",
value:"70.0000000000"}
]
我得到了什么:
myData = [
"{id:0,
label:"First",
color:"red",
value:"30"}"
"{id:1.00000,
label:"Second",
color:"blue",
value:"70.0000000000"}"
]
创造我得到的代码:
function AddRowToTable(id, name, desc, value, color) {
arr.push('{id:' + id + ', label:"' + name + '", color:"'+ color + '", value:"' + value + '"}');
}
我可以更改什么来删除""在{}之外 - 他们很好。
了解整个故事:Link to other Discussion
感谢您的帮助
答案 0 :(得分:1)
将您的功能更改为:
function AddRowToTable(id, name, desc, value, color) {
arr.push({id: id, label: name, color: color, value: value});
}
这样,你正在推动一个对象(这就是你想要的!)而不是一个字符串。
答案 1 :(得分:1)
你正在向阵列推动刺痛,而不是对象,你需要以下
function AddRowToTable(id, name, desc, value, color) {
arr.push({id: id, label: name , color: color, value: value});
}
请注意,我已删除了引号,并且未使用+
进行连接。但是你的函数中arr
是什么?它是函数之外的变量吗?咳..
var arr = [];
function AddRowToTable(id, name, desc, value, color) {
arr.push({id: id, label: name , color: color, value: value});
}
AddRowToTable(1, 'mike sav', 'what is this?', 'red', '10000');
另外,为什么要将desc
作为参数传递但不使用它?