我制作了一个简单的程序来使用两个 for 循环在本地存储一个数组,但是发生了一些奇怪的事情......
这是我的代码:
var imagesdata = data[0];
var preferences = data[1];
for (var i = preferences.length - 1; i >= 0; i--) {
(function(i){
for (var z = imagesdata.length - 1; z >= 0; z--) {
(function(i){
if(imagesdata[z].cathegory == preferences[i].cathegory){
var array = $('body').data('data'+preferences[i].cathegory);
if(array == null){
alert('asefsef');
$('body').data('data'+preferences[i].cathegory, [{'pname' : imagesdata[z].pname , 'pimage' : imagesdata[z].pimage}]);
}else{
$('body').data('data'+preferences[i].cathegory, array.push({'pname' : imagesdata[z].pname , 'pimage' : imagesdata[z].pimage}));
}
}
})(i);
};
})(i);
};
它说对象 2 没有方法 push但是如果我刚刚插入,为什么第二个出现在数组上:[{'pname' : imagesdata[z].pname , 'pimage' : imagesdata[z].pimage}]
谢谢!