Удаление из массива информацию

281
01 августа 2017, 19:09

Имеется такой массив:

var lpeers = [ { id: 'id2' }, { id: 'id3' }];
lpeers["id2"] = { uid: '1', apiId: '1', iddb: 30, ip: '127.0.0.1' };
lpeers["id3"] = { uid: '1', apiId: '1', iddb: 31, ip: '127.0.0.1' };

как из него удалить lpeers["id2"] ?

Array.prototype.exterminate2 = function (value) {
  for (var i=this.length-1; i>=0; i--) {
      if (this[i].id === value) {
          this.splice(i, 1);
          break;       //<-- Uncomment  if only the first term has to be removed
      }
  }
}
lpeers.exterminate2("id2");

данный код затронет только эту часть:

[ { id: 'id2' }, { id: 'id3' }];

в результате получится:

[ { id: 'id3' }];

а эта часть не изменится:

lpeers["id2"] = { uid: '1', apiId: '1', iddb: 30, ip: '127.0.0.1' };
lpeers["id3"] = { uid: '1', apiId: '1', iddb: 31, ip: '127.0.0.1' };

Вернусь к вопросу как удалить lpeers["id2"] ?

Answer 1

Хочу Вас предупредить, что использовать массив как объект - плохо

var removeID = 'id2';
Object.keys(lpeers).forEach(function(key) { 
  if (key === removeID || lpeers[key].id === removeID) {
    delete lpeers[key];
  }
});
READ ALSO
Помогите с настройкой Brackets

Помогите с настройкой Brackets

ЗдравствуйтеНужно сделать в Brackets, что бы тег перемещался через строчку, а писать можно было сразу между тегами с пробелами или табуляцией

304
Передача информации в контроллер

Передача информации в контроллер

Пользуюсь плагином jquery-confirm, по клику на элемент создаю вот такую форму:

211
Как настроить Webpack + Babel + Gulp

Как настроить Webpack + Babel + Gulp

ПриветХочу научиться работать с современными фронт-енд инструментами, но я что-то совершенно не могу найти ни одного человеческого мануала/скринкаста...

278
как конвертиравать string в numeric [дубликат]

как конвертиравать string в numeric [дубликат]

На данный вопрос уже ответили:

260