2014-11-15 57 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原型對象。