Javascript Object.push不';好像不行

Javascript Object.push不';好像不行,javascript,cordova,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); }

我正在使用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);
}
但现在它不起作用了!如果我注释掉行“diff.push(diff);”,则会提醒diff,但如果我不注释掉,则只会显示第一个diff,然后应用程序停止

对于Javascript/jQuery bug查找,我通常使用Firebug,但不可能使用PhoneGap/Cordova应用程序。有人能为PhoneGap/Cordova推荐一个调试工具吗

您正在对象上使用
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);
}

参考文献


推送用于阵列,应为diff=[];我听说了Weinre,一个用于Phonegap/Cordova应用程序的远程调试工具。我还没试过,但看起来正是你想要的。