как удалить пустой массив с обьекта

240
13 февраля 2018, 09:41

Как можно удалить массив из объекта если этот массив пустой? Без использования es6

js:

$(".js-save-settings").click(function() {
  var event = [];
  $('#eventItems .event-info-view__item').each(function() {
     var self = $(this),
         tabsName = [],
         contactsItem = [],
         customDocs = [];
     ...

     event.push({
           categoryName: self.attr("data-menu-item"),
           tabs: tabsName,
           contacts: contactsItem,
           docs: customDocs
     });
  });
});

у некоторых элементов нет например tabs или contacts, но они содержат tabs: [], contacts: []

Answer 1

Сначала формируйте объект а потом передавайте его в параметр

var obj = {}

На этапе формирования вы можете делать проверки любых данных перед включением их в объект

obj.categoryName = self.attr("data-menu-item");
if (tabsName.length) obj.tabs = tabsName;
if (contacts.length) obj.contacts = contacts;
if (docs.length) obj.docs = docs;
event.push(obj);
Answer 2

Проверяйте длину массива и удаляйте свойство

if (!obj.tabs.length) delete obj.tabs;
if (!obj.contacts.length) delete obj.contacts;
READ ALSO
Есть ли событие Telegram Api “ Вход нового пользователя в Channel ” или альтернатива реализации под Node.js

Есть ли событие Telegram Api “ Вход нового пользователя в Channel ” или альтернатива реализации под Node.js

Необходимо кидать сообщение от бота к новому пользователю, который зашел в Channel, не группу, не к самому боту,а именно в ChannelЕсть ли такое событие...

203
Отправка формы JS

Отправка формы JS

Подскажите пожалуйста у меня есть задача Отправить форму из консоли бразуера n разнаписал скрипт, но если я вместо данных в data использую frm

315
Как сделать что бы audio поток не прерывался ?

Как сделать что бы audio поток не прерывался ?

У меня есть ссылка на поток радио я её вставил в тег audio и оно проигрывает радиоНо иногда не хочет включатся или перестаёт играть

173