bootd
@bootd
Гугли и ты откроешь врата знаний!

Как проверить, равно ли указанное свойство во всех объектах массива значению true?

Добрый день! Никак не могу решить задачку.
Есть массив:
[{
		"currentPos": 2,
		"isSelected": false,
		"text": 4
	},
	{
		"currentPos": 1,
		"isSelected": true,
		"text": 3
	},
	{
		"currentPos": 3,
		"isSelected": true,
		"text": 1
	}
]


Как узнать, все ли свойства isSelected внутри каждого объекта, являются true, то вернуть true, а если хоть 1 false, то вернуть false.

Прохожусь циклом, а дальше чёт башка не соображает.
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
@kulaeff
Front-end developer
Вам нужно использовать Array.every(). Как то так:

var a = [{
    "currentPos": 2,
    "isSelected": true,
    "text": 4
  },
  {
    "currentPos": 1,
    "isSelected": true,
    "text": 3
  },
  {
    "currentPos": 3,
    "isSelected": true,
    "text": 1
  }
]

var b = a.every(function(item) {
  return item.isSelected
})

console.log(b)


https://jsfiddle.net/yx7q8v5x/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
$arr = '[{
    "currentPos": 2,
    "isSelected": false,
    "text": 4
  },
  {
    "currentPos": 1,
    "isSelected": true,
    "text": 3
  },
  {
    "currentPos": 3,
    "isSelected": true,
    "text": 1
  }
]';
$arr = json_decode($arr);

$result = true;
foreach ($arr as $val) {
	if (!$val["isSelected"]) {
		$result = false;
		break;
	}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы