2014-11-15 145 views
-2

我在JavaScript有一个阵列,其看起来像这样:Javascript数组插入

var arr = [ 
    { // first 
     id : '45' 
     name : 'dsada' 
    }, 
    { 
     id : '45' 
     name : 'dsada' 
    }, 
    /* ... */ 
]; 

欲添加更多的数据到它的第一索引,例如country:'Egypt'

我应该使用哪个函数?

或者如何将值推送到数组中的特定索引?

我已经使用pushsplice方法,但我无法弄清楚。

+0

我想你可能会将JavaScript对象字面值('{'thing':'value'}')与JavaScript数组('['value','value','value']')混淆。在PHP中有关联数组,许多人将它们与JavaScript中的对象文字相混淆,但在JavaScript中,没有像关联数组那样的东西;只有数字索引数组。所以一个对象文字没有push,splice,pop和其他数组方法。换句话说,如果你尝试'arr [0] .push({country:'USA'})'它不会工作,因为arr [0]上的对象字面值没有push方法。 – HMR

+0

post.comments = {user:'Yousra',comment:'hey'},{user:'ahmed',comment:'okay'}; 我不能插入该数组作为评论!!? –

+0

你可以,但这是我们第一次见到post.com,并且第一次提到它。我猜你尝试了push或拼接,因为你将一个对象文字与数组混淆,因为这是php程序员的常见错误 – HMR

回答

2
arr[0].country = 'Egypt' 

设置country属性。

+0

谢谢! 所以如果我想打一个数组 coountry:{ 1:“埃及”, 2:“美” } –

+0

那么你将其设置为'[“埃及”,“美”]',因为数组。 – Scimonster

0

Scimonster的回答是正确的,但是如果你看一下文档,它会更好。你的问题突出了基础知识上的一些混淆。

文档

Array.prototype.push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

Array.prototype.splice()方法更改数组的内容,添加新元素,同时删除旧元素。

Object.prototype表示Object原型对象。