2016-06-14 29 views
0

lodashには、クエリに基づいてフィルタリングし、一致したオブジェクトの配列を返しますが、元の配列から一致するオブジェクトを削除する機能があるかどうかを調べようとしています。一致する配列項目を返して元の配列から削除する

したがって、_.filterと非常によく似ていますが、一致する要素が削除された元の配列が変更されています。

var originalArray = [1, 2, 3, 4, 5]; 
console.log(originalArray); 
----> 1, 2, 3, 4, 5 

var evenNumbers = _.somethingSimilarToFilter(originalArray, function(n) { 
    return n % 2 === 0 
}); 

console.log(evenNumbers); 
----> 2, 4 

console.log(originalArray); 
----> 1, 3, 5 

答えて

1

あなたはネイティブのJavaScript Array#filterArray#splice方法

var originalArray = [1, 2, 3, 4, 5]; 
 
var evenNumbers = originalArray.filter(function(n, i, arr) { 
 
    // just remove the element from array if even number 
 
    return n % 2 === 0 && arr.splice(i, 1) 
 
}); 
 

 
console.log(originalArray, evenNumbers);

を使用してそれをやっことができます
関連する問題