@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.
  • Вопрос задан
  • 89 просмотров
Решения вопроса 3
bootd
@bootd
Гугли и ты откроешь врата знаний!
goods[key].cost
Ответ написан
Комментировать
@StockholmSyndrome
goods[key].cost > 20
Ответ написан
Комментировать
@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, чтобы не создавать подобные темы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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