将Array值推送到第一个Index

时间:2011-06-15 13:07:47

标签: javascript

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

2 个答案:

答案 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