2016-02-07 16 views

答えて

33

は、単にあなたが同じ配列をしたい場合は

var array = [1,2,'deleted',4,5,'deleted',6,7]; 
var newarr = array.filter(function(a){return a !== 'deleted'}) 
+11

を試すことができます。 'array.filter(a => a!== 'deleted'); ' –

+0

検索用語の一部を含む要素を削除したい場合は、これをどのように変更しますか? 'この配列[1、2、 'delete'、4,5、 'deleted'、6、 'will delete']'をとります。文字列 'del'の一部に一致する要素を削除したい場合はどうすればよいですか?だから、「削除」、「削除」、「削除する」はすべて削除されていますか? – user1837608

+0

@ user1837608その時点で標準マッチングよりもRegex Matchingを安全に扱うことができますし、文字列のn個の要素にマッチすることもできますが、それは実際には役に立たない高価な操作になります。削除されます。必要に応じて、私はこの回答を以下に置くことができますが、私が信じる質問には直接は一致しません。 –

4
array = array.filter(function(s) { 
    return s !== 'deleted'; 
}); 
1

は、あなたが他の

var array = [1,2,'deleted',4,5,'deleted',6,7]; 
var index = "deleted"; 
for(var i = array.length - 1; i >= 0; i--) { 
    if(array[i] === index) { 
     array.splice(i, 1); 
    } 
} 

EXAMPLE 1

を使用することができますArray.prototype.filter()機能を使用しますあなたは使うことができますArray.prototype.filterは、提供された関数によって実装されたテストに合格するすべての要素を含む新しい配列を作成します。

var arrayVal = [1,2,'deleted',4,5,'deleted',6,7]; 
function filterVal(value) { 
    return value !== 'deleted'; 
} 
var filtered = arrayVal.filter(filterVal); 

EXAMPLE 2

3

あなたがメインアレイから削除する複数の文字列を持っている場合、あなたはそれが矢印構文でさえも立派だこの

// Your main array 
var arr = [ '8','abc','b','c']; 

// This array contains strings that needs to be removed from main array 
var removeStr = [ 'abc' , '8']; 

arr = arr.filter(function(val){ 
    return (removeStr.indexOf(val) == -1 ? true : false) 
}) 

console.log(arr); 

// 'arr' Outputs to : 
[ 'b', 'c' ] 
関連する問題