var Config = {
Windows: ['apple','mangi','lemon']
}
我有一个条件,基于我想在我的数组中推送香蕉值。
If(Condition Passed) {
Config.Windows.unshift('banana');
Windows: ['banana','apple','mangi','lemon']
Config.Windows.reverse();
// The way the Array elements are now reversed and First banana is accessed.
} else {
Config.Windows.reverse();
}
它没有这样做...当我在我的其他功能中使用Config.Windows时,没有banana
值......根本没有
for each(var item in Config.Windows.reverse()) {
Ti.API.info(item);
//This does not print banana
答案 0 :(得分:7)
您可以通过多种方式将值推送到数组的前面。我可以立即想到两种方式:
创建一个新数组,并替换旧数组
if (condition) {
Config.Windows = ['banana'].join(Config.Windows)
Config.Windows.reverse();
} else {
Config.Windows.reverse();
}
根据你所说的,总是反转数组更有意义,然后推动你的价值:
//initial array: ['apple','mangi','lemon']
Config.Windows.reverse(); //['lemon','mangi','apple']
if (condition) {
//this will get the same result as your code
Config.Windows.push("banana"); //['lemon','mangi','apple', 'banana']
}
答案 1 :(得分:5)
" IE不支持unshift,因此,如果您的浏览器出现这种情况,则可以解释为什么它不起作用。 "
http://msdn.microsoft.com/en-us/library/ie/ezk94dwt(v=vs.94).aspx