2017-06-27 57 views
0

如何獲取不存在另一個數組的所有項目?如何獲取不在另一個陣列中的數組的所有項目

我有一個陣列與已選擇的值:

var selectedList = [1,2]; 

使用對象的列表另一個陣列等

var objList = [{Value:1, Name:'KL'},{Value:2, Name:'XYZ'},{Value:3, Name:'ABC'}]; 

我想結果是對ObjList陣列的值字段濾波器和僅那些記錄在selectedList中不存在。

+3

請提供你有什麼試過 – user93

+0

A nd顯示數組的例子。對於基元的一維數組,比嵌套數組或對象數組簡單得多 – charlietfl

回答

1

你可以使用簡單的過濾器來做到這一點

var selectedList = [1, 2]; 
 
var objList = [{ 
 
    Value: 1, 
 
    Name: 'KL' 
 
}, { 
 
    Value: 2, 
 
    Name: 'XYZ' 
 
}, { 
 
    Value: 3, 
 
    Name: 'ABC' 
 
}]; 
 

 
var data = objList.filter(x => selectedList.indexOf(x.Value) != -1) 
 

 
console.log(data)

0

你可以試試:

var bigArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; 
var smallArray = ['b', 'c', 'g']; 

var newArray = bigArray.filter(function(item) { 
    return smallArray.indexOf(item) < 0; 
}); 

,或者使用underscore.js使用.difference()

相關問題