2011-05-02 150 views
1
for(i=0;i<rowData.length;i++){ 
    if(rowData[i].title == 'Gender'){ 
     AddMinusGenderImage.remove(AddMinusGenderImage); 
     rowData.splice(i,1); 
     tableview.data = rowData; 
     break; 
    } 
} 

在我刪除數據和新數據到數組後,它被添加到數組[1]而不是數組[0]。爲什麼??添加元素到陣列問題

添加陣列部分

我添加數組元素這樣的按鈕的點擊。在每次點擊按鈕時,該行即被添加到數組中。

rowData.push(row); 

行是一個對象,現在它具有我檢查並刪除該行的屬性稱號。當我添加另一行時,它不會佔用空的空間,而是創建一個新的數組索引。

+1

你在哪裏添加數據到數組? – 2011-05-02 11:50:20

+0

那麼,數據總是被添加到數組的末尾,從來沒有開始。如果刪除的元素是第一個元素,則第二個元素變成第一個元素,而第二個元素變成第二個。你真正想做什麼? – 2011-05-02 11:54:35

+1

@ M.Sameer:爲什麼? – 2011-05-02 11:57:48

回答

1

的「.splice()」函數將從你的陣列內的任何位置刪除元素,而是「.push()」 總是添加元素到所述陣列的所述

因此:

var r = ["hello", "out", "there"]; 

如果我們拼接出中間字( 「出」):

r.splice(1, 1); 

然後該陣列將是["hello", "there"]。但是,如果我們 「.push()」 別的東西:

r.push("up"); 

則數組會["hello", "there", "up"]