我有一个对象数组:
var allButtons = [
buttonA,
buttonВ,
buttonС,
"->"
];
此对象可以具有“隐藏”属性,可以是真或假。
我需要(以最佳方式)发现是否有任何“按钮”隐藏了 === false(换句话说,是可见的)。
现在我使用这种原始方法:
someOfButtonsIsVisible = false;
Ext.each(allButtons, function (item){
if(item.hidden === false) {
someOfButtonsIsVisible = true;
}
});
但在这种情况下,我必须遍历所有对象并检查它们的“隐藏”属性。
有没有更好的方法来知道数组中的任何对象是否隐藏了 === false?
最佳答案
使用array.prototype.some:
var someOfButtonsIsVisible = allButtons.some(button => button.hidden === false);
也可以用array.prototype.every来完成:
var someOfButtonsIsVisible = !allButtons.every(button => button.hidden === true);
但在您的情况下,array.prototype.some 更有意义
关于javascript - 如何在数组中查找具有某个属性值的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458037/