2013-03-26 100 views
0

我不明白为什么拼接方法不适合我。我有一个数组,看起来像:(它实际上是更大的,但我不想弄乱页)插入对象文字到数组中

var navItems = [ { 
        "content": "Panels", 
        "icon": "panels" 
       }, 
       { 
        "content": "Samples", 
        "icon": "sample" 
       }]; 

我要插入一个项目在中间说:

var testNavItems = navItems.splice(1, 0, { 
        "content": "New Nav", 
        "icon": "New Nav" 
        }); 
console.log(testNavItems); 

OR

var testNavItems = navItems.push({ 
        "content": "New Nav", 
        "icon": "New Nav" 
        }); 
console.log(testNavItems); 

我得到一个空的数组。这在JS中可能吗?

+1

['.splice'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/splice)返回已元素删除,['.push'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/push)返回数组的新长度。始终检查文档。 – 2013-03-26 18:43:23

回答

3

.push.splice不创建新数组。他们修改原始数组。

尝试

console.log(navItems);