var updateCards = products => {
var elements = document.querySelectorAll('.good');
for (var i = 0; i < elements.length; i++) {
if (products[i].isHit) {
elements[i].classList.add('good--hit');
}
if (products[i].inStock) {
elements[i].classList.add('good--available');
}else {
elements[i].classList.add('good--unavailable');
}
}
}
updateCards(assortmentData);
var updateCards = function (arrayData) {
var goods = document.querySelectorAll('.good');
for (var i = 0; i < goods.length; i++) {
if (arrayData[i].inStock) {
goods[i].classList.add('good--available');
if (arrayData[i].isHit) {
goods[i].classList.add('good--hit');
}
} else {
goods[i].classList.add('good--unavailable');
if (arrayData[i].isHit) {
goods[i].classList.add('good--hit');
}
}
}
}
updateCards(assortmentData);
У меня вроде всё как в прошлом задании, всё проходит.
var updateCards = function (products) {
var elements = document.querySelectorAll(’.good’);
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var product = products[i];
var availabilityClass = 'good--available';
if (!product.inStock) {
availabilityClass = 'good--unavailable';
}
element.classList.add(availabilityClass);
if (product.isHit) {
element.classList.add('good--hit');
}
var updateCards = function (items) {
var goods = document.querySelectorAll('.good');
for (var i = 0; i < goods.length; i++) {
if (items[i].isHit) {
goods[i].classList.add('good--hit');
};
if (items[i].inStock) {
goods[i].classList.add('good--available');
} else {
goods[i].classList.add('good--unavailable');
};
};
};
updateCards(assortmentData);
var elements = document.querySelectorAll(’.good’);
for (var i = 0; i < cards.length; i++) {
var element = elements[i];
var card = cards[i];
if (card.inStock === true) {
element.classList.add('good--available');
} else {
element.classList.add('good--unavailable');
}
if (card.isHit) {
element.classList.add('good--hit');
}
еще вчера в этой задаче были технические неполадки, сегодня все пофиксили, вот мой код:
var assortmentData = [
{
inStock: true,
isHit: false
},
{
inStock: false,
isHit: false
},
{
inStock: true,
isHit: true
},
{
inStock: true,
isHit: false
},
{
inStock: false,
isHit: false
}
];
var updateCards = function (goods) {
var elements = document.querySelectorAll(’.good’);
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var good = goods[i];
var availabilityClass = 'good--available';
if (!good.inStock) {
availabilityClass = 'good--unavailable';
}
element.classList.add(availabilityClass);
if (good.isHit) {
element.classList.add('good--hit');
}
Кто-нибудь, объясните, пожалуйста, почему функция работает, даже, если в ней не указано что возвращать (нет return) ? И если указывать, что надо возвращать? Я возвращала и products и goods - проверка успешна в любом случае.
Код
var updateCards = function (products) {
var goods = document.querySelectorAll(’.good’);
for (i = 0; i < goods.length; i++) {
var good = goods[i];
var product = products[i];
var availabilityClass = ‘good–available’;
if (!product.inStock) {
availabilityClass = 'good--unavailable';
}
good.classList.add(availabilityClass);
if (product.isHit) {
good.classList.add('good--hit');
}
let updateCards = function(assortmentData) {
// Получаем список товаров
let products = document.querySelectorAll('.good');
for(let i = 0; i < assortmentData.length; i++) {
// Получаем текущий продукт
let product = products[i];
// Получаем текущий объект
let element = assortmentData[i];
// Определяем наличие и добавляем класс
if (element.inStock){
product.classList.add('good--available');
} else {
product.classList.add('good--unavailable');
};
// Определяем статус хит и добавляем класс
if (element.isHit) {
product.classList.add('good--hit');
};
}
};
updateCards(assortmentData);
Как я понимаю, здесь(конкретно в этом случае) ничего, никуда отправлять или передавать из этой функции не нужно. Она просто отрабатывает свою задачу и далее от неё ничего не нужно.
var updateCards = function (cardsData) {
var cardsList = document.querySelectorAll('.good')
for(var i = 0; i < cardsList.length; i++) {
var card = cardsList[i]
var cardData = cardsData[i]
var cardClass = 'good--available'
if (!cardData.inStock) {
cardClass = 'good--unavailable'
}
card.classList.add(cardClass)
if (cardData.isHit) {
card.classList.add('good--hit')
}
}
}
updateCards(assortmentData)
Здесь можно просто завершить выполнение функции, вызвав return.
var updateCards = function (cardsData) {
var cardsList = document.querySelectorAll('.good')
for(var i = 0; i < cardsList.length; i++) {
var card = cardsList[i]
var cardData = cardsData[i]
var cardClass = 'good--available'
if (!cardData.inStock) {
cardClass = 'good--unavailable'
}
card.classList.add(cardClass)
if (cardData.isHit) {
card.classList.add('good--hit')
}
}
return
}
updateCards(assortmentData)