2015-06-14 20 views
-2

我對如何在JavaScript中更改數組(字符串)的內容有一些疑問。如果我有一個這樣的數組:在JavaScript中編輯字符串數組的內容

var name = ["A","B","C","D","E","F","G","H","I","J","K"];

,我想將其轉換成一個這樣的數組:

var name = ["A","D","E","F","G","H","I","J","K"]; 

也就是說,我不得不刪除一些元素。我知道要刪除的元素的起始和結束索引,就像在上面的例子中,我刪除了「A」和「D」之間的所有字符串(我給出了「A」和「D」的索引)。 我該怎麼做?

注:這裏是我修改數組的功能。在這裏,當我通過函數時,s = 1,e = 3。

function replace(s,e) 
{ var k= new Array(); 
k=name.splice(s,e-s); 
cpyarr(k,name,k.length); } 

cpyarr(ARR1,ARR2,n)是在從ARR1複製到ARR2(n個元素)

我正在錯誤在k=name.splice(s,s-e)線的函數

+3

[Array.prototype .splice](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) – dfsq

+0

爲什麼這是upvoted? – john

+0

我使用了name.splice(1,2),但有一個錯誤:Uncaught TypeError:name.splice不是函數。 – Slal

回答

0
var name = ["A","B","C","D","E","F","G","H","I","J","K"]; 
function removeSomeElems(arr,indices){ 
    return arr.filter(function(char,index) { return indices.indexOf(index) == -1 }); 
} 

console.log(removeSomeElems(name,[1,2,4])); 
+0

我仍然收到同樣的錯誤'Uncaught TypeError:arr.filter不是函數' – Slal

+0

,因爲您沒有在函數調用中傳遞數組作爲第一個參數。 –

+0

同意「名稱」不是這裏的數組;那麼我想如何解決這個問題呢?我是否需要創建一個數組數組?你的例子中的名字是 – Slal

相關問題