Как написать эту строку JQuery на чистом JavaScript ? Строку я обозначил коментарием.
var cart = {};
$.getJSON('goods.json', function (data) {
var goods = data;
checkCart();
showCart();
function showCart() {
if ($.isEmptyObject(cart)) { /*--------THIS STRING------ */
var out = 'Корзина пустая. Добавьте товар в корзину <a href="index.html">главная страница</a>';
document.getElementById('my-cart').innerHTML = out;
}
else {
var out = '';
for (var key in cart) {
out += '<button class="delete" data-art="' + key + '" > x </button>';
out += ' <img src="' + goods[key].image + '" width="48">';
out += goods[key].name;
out += ' <button class="minus" data-art="' + key + '"> - </button>';
out += cart[key];
out += ' <button class="plus" data-art="' + key + '"> + </button>';
out += cart[key] * goods[key].cost;
out += '<br>';
}
document.getElementById('my-cart').innerHTML = out;
document.querySelectorAll('.plus').forEach(function(but) {
but.addEventListener("click",plusGoods);
})
document.querySelectorAll('.minus').forEach(function(but) {
but.addEventListener("click",minusGoods);
})
document.querySelectorAll('.delete').forEach(function(but) {
but.addEventListener("click",deleteGoods);
})
}
}
Можно добавить где-то в конце кода эту функцию и использовать её:
function isEmptyObj( obj ){
for( var key in obj ){
return false;
}
return true;
}
console.log( isEmptyObj( {} ) );
console.log( isEmptyObj( {test: 1, moo: 2} ) );
есть такое однострочное решение
function isEmptyObject(obj) {
return !Object.keys(obj).length;
}
console.log(isEmptyObject({}));
console.log(isEmptyObject({ test: 1, moo: 2 }));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах
Пытаюсь сделать helper функцию, в которую первым аргументом мы передаём обьект в котором исчем, а вторым это ключ которой должны получитьПроблема...