2 つの 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}]
ありがとう!