Object.push似乎不起作用

时间:2014-07-10 09:11:11

标签: javascript cordova

我正在使用JQMobile编写PhoneGap / Cordova应用程序。

我有一个函数,它使用一个对象将差异推送到这样的数组中:

alert( JSON.stringify(allAdj) ); //{"manche":"manch", "wollte","wollt"}
diffs = {};
for(key in allAdj) {            
    diff = key.slice(allAdj[key].length);
    diffs.push(diff);
}

这在这个实例中工作正常。所以我稍后再用另一个函数:

alert( JSON.stringify(derP) ); //{"manche":"manch", "wollte","wollt"}
diffs = {};
for(key in derP) {            
    diff = key.slice(derP[key].length);
    alert(diff);
    diffs.push(diff);
}

但现在它不起作用!如果我注释掉" diffs.push(diff);"差异被警告,但如果我不评论它只显示第一个差异,然后应用停止。

对于Javascript / jQuery错误查找,我通常使用Firebug但使用无法实现的PhoneGap / Cordova应用程序。有谁能推荐PhoneGap / Cordova的调试工具?

1 个答案:

答案 0 :(得分:1)

您在对象上使用push()

  

push()方法将新项目添加到数组的末尾,并返回新的长度。

使用数组而不是对象。

示例

alert( JSON.stringify(allAdj) ); //{"manche":"manch", "wollte","wollt"}
diffs = []; // array
for(key in allAdj) {            
    diff = key.slice(allAdj[key].length);
    diffs.push(diff);
}

参考