var users = [
{ id: 1, admin: true },
{ id: 2, admin: false },
{ id: 3, admin: false },
{ id: 4, admin: false },
{ id: 5, admin: true },
];
var filteredUsers;
function isAdmin(array, property){
return array.filter(function(key){
return key[property] === 'true';
})
}
filteredUsers = isAdmin(users, 'admin');
谢谢
答案 0 :(得分:2)
您需要针对布尔值进行测试,因为您的数据的值为true
或false
。
return key[property] === true;
// ^^^^
function isAdmin(array, property) {
return array.filter(function (key) {
return key[property] === true;
// ^^^^
});
}
var users = [{ id: 1, admin: true }, { id: 2, admin: false }, { id: 3, admin: false }, { id: 4, admin: false }, { id: 5, admin: true }],
filteredUsers = isAdmin(users, 'admin');
console.log(filteredUsers);
答案 1 :(得分:0)
)你的问题是你正在使用3等唱(" ===")来测试这个属性。这是一个链接,其中包含更多细节,解释了以下区别: