对象可以具有属性a,b,c或d。
找出它有哪一种最好的方法是什么?
var input = {
name: 'Bob',
a: 1
}
预期产出:
a
我之前使用过:
_.keys(_.pick(input, 'a', 'b', 'c', 'd'))[0]
但是想知道是否有更好的方法来做到这一点?
答案 0 :(得分:0)
这应该这样做。不确定它是否更好"但它会让你不得不使用另一个库加上应该更轻一点。
var input = {
a: 1
}
function whichProperty(obj) {
var possibilities = ['a', 'b', 'c', 'd'];
return possibilities.filter(function (a) {
return obj[a];
})[0];
}
document.write(whichProperty(input));

答案 1 :(得分:0)
不确定这是否更好,但也许更具表现力的笑脸:
var result = _.find('abcd', function(key){
return _.has(input,key);
})