【发布时间】:2020-11-09 23:27:18
【问题描述】:
几个小时以来,我一直在尝试破解这个,但我似乎真的无法成功。我正在尝试创建一个如下所示的 JSON 字符串,但是当将变量 obj 的值传递给变量 j 时,我得到的只是该循环的最后一个结果的数组。
而不是得到如下结果:
[{machine: "hi"...}
{machine: "2"....}]
我得到:
[{machine: "2"...}
{machine: "2"....
and keep going with same value}]
我做错了什么?
var return_json = function(){
var j = [];
var obj = {};
var td;
for(var i=1;i<tr.length;i++){
td = tr[i].getElementsByTagName("td");
obj['machine'] = td[0].innerHTML;
console.log(obj['machine']);
obj['day'] = td[1].getElementsByTagName("p")[0].innerHTML;
obj['night'] = td[2].getElementsByTagName("p")[0].innerHTML;
j.push(obj);
console.log(j);
}
return j;
};
console.log(save_limitation());
【问题讨论】:
-
您是在尝试创建 JSON 字符串还是迭代 JSON obj?
-
@Alex 我希望我能回答这个问题,但我不知道我在做什么。这是据我所知。
-
如果你想创建一个
JSON字符串,你可以使用JSON.stringify()并传入一个数组。 -
在
for循环内定义var obj = {}; -
@Satpal omg 我花了很多时间试图解决这个问题,而我所要做的就是在循环中定义 var obj ¬¬。谢谢
标签: javascript json