@Rufix

Условие и циклы в ассоциативном массиве?

var goods = {
	"dd" : {
		"name": "Яблоки",
		"cost": 13
	},
	"dc" : {
		"name": "Груши",
		"cost": 23
	},
	"cd" : {
		"name": "Абрикосы",
		"cost": 33
	},
	"dee" : {
		"name": "Сливы",
		"cost": 43
	},
	"dd2" : {
		"name": "Вишни",
		"cost": 19
	},
};

for (var key in goods){
	if (goods.key.cost > 20){
		document.write(goods.key + '<br>');
	}
}

Подскажите пожалуйста, как правильно написать такую программу? На всякий случай поясню. Нужно вывести на страницу товары, цена которых больше 20.
  • Вопрос задан
  • 74 просмотра
Решения вопроса 3
@dimoff66
Кратко о себе: Я есть
Правильно написать ее без использования ассоциативного массива, а с обычным

var goods = [
  {
    "code": "dd",
    "name": "Яблоки",
    "cost": 13
  },
  {
    "code": "dc",
    "name": "Груши",
    "cost": 23
  }
];

document.write(goods.filter(good => good.cost > 20).map(good => good.name).join('<br>'));


Но если настаиваете на ассоциативном массиве, то

for (var key in goods){
  if (goods[key].cost > 20){
    document.write(goods[key].name + '<br>');
  }
}


PS Вообще это легко ищется поиском. Достаточно посмотреть любой пример работы с ассоциативным массивом в js, чтобы не создавать подобные темы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 30 000 до 65 000 руб.
BSSL Москва
от 50 000 до 150 000 руб.
от 60 000 до 90 000 руб.
22 июл. 2019, в 17:03
500 руб./за проект
22 июл. 2019, в 16:55
500 руб./за проект