gpt4 book ai didi

javascript - 检查对象数组中的所有属性值是否相同

转载 作者:行者123 更新时间:2023-12-03 08:36:15 24 4
gpt4 key购买 nike

我有一个对象数组,所有对象都具有与 isReady 相同的属性名称。我想在所有对象 isReady 属性为 true 时启动一个函数。

let players = [
0: {isReady: true},
1: {isReady: false},
2: {isReady: true}
]

应该返回 false

let players = [
0: {isReady: true},
1: {isReady: true},
2: {isReady: true}
]

应该返回true

for(let i = 0; i < players.length; i++) {
if(players[i].isReady === true) {
startGame()
}
}

我尝试循环所有对象,但即使 1 个对象具有 true 值,if 语句也会返回 true。

最佳答案

您可以通过两种方式实现这一目标

1- 通过使用数组内置方法 every 在检查完整数组后将返回 bool 值。示例-

let players = [
{isReady: true},
{isReady: true},
{isReady: true}]
const isPlayersReady = players.every(data=> data.isReady)
if(isPlayersReady ){
startGame()
}

2-通过使用Set数据结构

let result = players.map(a => a.isReady);
console.log(new Set(result).size === 1); // True

关于javascript - 检查对象数组中的所有属性值是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63797813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com