无法读取属性'推送'的未定义如何解决?

时间:2018-04-25 12:23:52

标签: javascript jquery

var item_data = [];
var index = 0;
var data = JSON.parse([{"A":"0","B":"100","C":"0","D":"0"}]);
item_data[index].push(data);
console.log(item_data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

任何人都可以帮助我,为什么它出现在我的系统中出现脚本错误

  

未捕获的TypeError:item_data [index] .push不是函数

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

使用赋值运算符(=)通过使用索引来插入数组特定位置的任何项:

item_data[index] = data;

OR:如果您想使用push(),则根本不需要使用索引。因为

  

push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。

item_data.push(data);

&#13;
&#13;
var item_data = [];
var index = 0;
var data = JSON.parse('[{"A":"0","B":"100","C":"0","D":"0"}]');
item_data[index] = data;
console.log(item_data);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

将JSON更改为字符串并将其推送到数组item_data

&#13;
&#13;
var item_data = [];
var index = 0;
var data = JSON.stringify([{"A":"0","B":"100","C":"0","D":"0"}]);
item_data.push(data);
console.log(item_data);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;