1
var arr = [ 4, "Pete", "test", 8, "John", "", "test" ];

この配列値テストと空の文字列から削除するにはどうすればよいですか? これにはどのように最善の方法がありますか?

4

4 に答える 4

6
var arr = [ 4, "Pete", "test", 8, "John", "", "test" ]; 
var l = arr.length;

while( l-- ) {
    if( arr[l] === "test" || arr[l] === "" ) {
        arr.splice(l, 1);
    }
}

//> arr
//[4, "Pete", 8, "John"]
于 2012-08-07T11:34:46.957 に答える
2

代替:フィルター

var arr = [ 4, "Pete", "test", 8, "John", "", "test" ]
           .filter(function(v){return String(v).length && v !== 'test';});
//=> arr = [4, "Pete", 8, "John"];
于 2012-08-07T11:45:45.433 に答える
1

単一のアイテムを削除する場合に役立つ可能性があることを確認してください

http://jsfiddle.net/HWKQY/

于 2012-08-07T11:45:32.587 に答える
0

配列内のアイテムのインデックスがわかっている場合は、次のようにスプライスを簡単に使用できます

arr.splice(インデックス、いくつ)

howmany=削除するアイテムの数

http://www.w3schools.com/jsref/jsref_splice.asp

于 2012-08-07T11:45:50.870 に答える