2017-05-30 72 views
0

如何從該列表中有條件地獲取數組的ID。 如果級別是1,那麼user_id則爲admin_id。如何使用lodash有條件地過濾數據

var users = [ 
     { 'user': 'barney', 'age': 36, 'active': true , level:1, 'user_id':'1', admin_id:'11'}, 
     { 'user': 'fred', 'age': 40, 'active': false , level:2, 'user_id':'2', admin_id:'22'}, 
     { 'user': 'barney', 'age': 36, 'active': true , level:1, 'user_id':'3', admin_id:'33'}, 
     { 'user': 'barney', 'age': 36, 'active': true , level:2, 'user_id':'4', admin_id:'44'}, 
     { 'user': 'barney', 'age': 36, 'active': true , level:1, 'user_id':'5', admin_id:'55'} 
    ]; 

預期陣列:[1,22,3,44,5]

回答

2

什麼你正在尋找在這裏無論是本地JavaScript map或lodash的map

let result1 = users.map(user => user.level === 1 ? user.user_id : user.admin_id); 

let result2 = _.map(users, user => user.level === 1 ? user.user_id : user.admin_id);