2012-04-07 31 views
0

我有一個數組,其中可能有1到11個元素。我想刪除最後一個元素並將其設置爲一個新字符串,然後將arraylist的其餘部分設置爲一個集合字符串。下面的代碼不工作...我是否需要包含if else else數組列表只有一個元素? (我知道我這樣做,我不知道是否會導致腳本完全不被執行)將數組的最後一個元素設置爲單獨的字符串,然後除去所述元素

var finaling = checked[checked.length].toString(); 
    checked.splice(checked[checked.length]); 
    checked.toString(); 

回答

0

我不知道你想做什麼,但是這應該這樣做:

var lastElementInArray = checked.splice(checked.length-1)[0].toString(); 
var stringOfChecked = checked.toString(); 

或者,如果你想刪除數組的最後一個元素,並返回表示新數組的字符串:

checked.splice(checked.length-1, 1); 
var finaling = checked.toString(); 

一些需要注意的:array.splice()返回元素的數組;如果你只有一個元素,並且你想要這個實際的元素,你會想要使用array.splice(...)[0]

+0

嗯...爲什麼它的長度減一?長度不是最後一個元素? – Wilson 2012-04-07 03:21:48

+2

請記住,JavaScript中的數組是0索引的,這樣具有三個元素的數組的長度爲3,但位置爲0,1和2的元素。因此,最後一個元素是數組的長度減1。 – 2012-04-07 03:23:01

3

這裏是我會怎麼做?

我想刪除最後一個元素...

checked.pop(); 

...並使它成爲一個新的字符串...

checked.push('new string'); 
// or skip the above `pop()` 
checked[checked.length - 1] = 'new string'; 

...然後將arraylist的其餘部分設置爲一個集合字符串。

checked = checked + ''; 

數組的缺省toString()將加入與','的元素。如果您想使用不同的連接字符,請使用join()

相關問題