Задать вопрос
@yagyar001

Как изменить значение нескольких элементов объекта?

Всем привет. Учу js. Столкнулся с проблемой. Может уже устал и не соображаю. Есть массив, в нем объекты. Нужно записать в новый массив все элементы, но значение active: false поменять на true.
В общем вот массив:
let users = [
	{
		name: 'name1',
		active: true
	},
	{
		name: 'name2',
		active: false
	},
	{
		name: 'name3',
		active: true
	},
	{
		name: 'name4',
		active: false
	},
	{
		name: 'name5',
		active: true
	}
];


Должно получиться так:
let users = [
	{
		name: 'name1',
		active: true
	},
	{
		name: 'name2',
		active: true
	},
	{
		name: 'name3',
		active: true
	},
	{
		name: 'name4',
		active: true
	},
	{
		name: 'name5',
		active: true
	}
];

Вот мой код:
let res = [];
for (elem of users) {
	for (key in elem) {
		if (elem[key] === true) {
			res.push(key = elem);
		}
	}
}

console.log(res);


Направьте в правильное русло.
P.S.. Я только изучаю js и тренируюсь с циклами, никаких рекурсий и тому подобное не знаю. Задачу необходимо решить только циклом.
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Kasperenysh
@Kasperenysh
Рецидив в особо острой форме))
Что-то типа:
let newArrUsers = users.map(el => {
  if(!el.active) el.active = true;
  return el;
});
Ответ написан
for (elem of users) {
  elem.active = true;
  console.log(elem);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы