Я создал это приложение для супермаркетов с JavaScript. Он имеет предопределенную информацию о проходе. Затем пользователь дает сценарию 3 элемента и категории, к которым они принадлежат. Если категория соответствует одному из предопределенных, скрипт сообщает вам, где находится ваш элемент.Приложение для тестирования супермаркетов Javascript
Мне было интересно, было ли еще эффективным способом пропустить, сохранить и сравнить эти данные? Должен ли я использовать массивы или объекты здесь?
var safeway = {};
safeway.aisle1 = {
contents: "fresh produce",
aisle: "Aisle 1"
};
safeway.aisle2 = {
contents: "meat and seafood",
aisle: "Aisle 2"
};
safeway.aisle3 = {
contents: "dairy",
aisle: "Aisle 3"
};
safeway.aisle4 = {
contents: "snacks",
aisle: "Aisle 4"
};
safeway.aisle5 = {
contents: "beverages",
aisle: "Aisle 5"
};
safeway.aisle6 = {
contents: "frozen foods",
aisle: "Aisle 6"
};
safeway.aisle7 = {
contents: "condiments and ingredients",
aisle: "Aisle 7"
};
li1 = prompt("List Item 1");
li1Category = prompt("What category does this item belong to?");
li2 = prompt("List Item 2");
li2Category = prompt("What category does this item belong to?");
li3 = prompt("List Item 3");
li3Category = prompt("What category does this item belong to?");
var list = {};
list.item1 = {
item: li1,
category: li1Category
};
list.item2 = {
item: li2,
category: li2Category
};
list.item3 = {
item: li3,
category: li3Category
};
var match = function() {
for(var i in list) {
for(var x in safeway) {
if(list[i].category === safeway[x].contents) {
console.log("The " + list[i].item + " is in " + safeway[x].aisle);
}
}
}
};
match();
Используйте карту 'content -> aisle', а не карту' aisle -> contents'. Затем вы можете получить прохождение определенной категории с помощью 'safeway [list [i] .category] .aisle' (при условии, что категория существует, конечно же, вам, вероятно, следует учитывать и несуществующие категории). –