2017-02-16 71 views
-1

我有這個...的Javascript搜索和篩選項目

var subc=[ 
    { r: 'aaa', d: 'ddda'}, 
    { r: 'bbb', d: 'dddc'}, 
    { r: 'ccc', d: 'dddc'}, 
    { r: 'ddd', d: 'dddd'} 
] 

var mat=[{ 
    value1: 'xxxx' 
    value2: 'yyyy' 
    value3: 'zzzz' 
    matSubc: ['aaa','ccc'] 
}] 

,我想從mat.matSubc的值來過濾SUBC以獲得結果

result=[ 
    { r: 'aaa', d: 'ddda'}, 
    { r: 'ccc', d: 'dddc'} 
] 

有人可以幫我嗎?

回答

2
var result = subc.filter(function(v){ 
    return mat[0].matSubc.indexOf(v.r) >= 0; 
}); 

這使用.filter()方法檢查subc陣列中的每個對象針對其在matSubc陣列的內部r鍵。如果存在,它將返回整個對象。