@Maxla93

Как исключить совпадающие элементы с объекта и массива?

itemsFee (itemname) - элементы которые нужно исключить с g_ItemName3 (и наоборот для itemsFee также исключить)
var itemsFee = [ { type: 0,
    user: 'ded-ded',
    itemname: 'Chroma 3 Case' },
  { type: 0,
    user: 'ded-ded',
    itemname: 'Chroma 3 Case' },
  { type: 0,
    user: 'ded-ded',
    itemname: 'Operation Wildfire Case', },
  { type: 0,
    user: 'ded-ded',
    itemname: 'Operation Wildfire Case' } ];

var g_ItemName3 = [ 'Chroma 3 Case',
  'Chroma 3 Case',
  'Operation Wildfire Case',
  'Operation Wildfire Case' ];


Пробовали таким образом:
for(var a = 0; a < itemsFee.length; a++) {
		for(var i = 0; i < g_ItemName3.length; i++){
			if (g_ItemName3[i] == itemsFee[a].itemname) {
				itemsFee.splice(a,1); // Вырезаем с itemsFee элементы найденные в g_ItemName3
				g_ItemName3.splice(i,1);
				break;
			}
		}
	}

Но из-за 2х for не правильно сравнивает и на выходе получаем массив с 2-мя якобы не найденными элементами:
g_ItemName3 = ["Chroma 3 Case", "Operation Wildfire Case"]
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
break уберите.
из обоих массивов сразу не удаляйте.

Тогда возможно будет как вы хотите работать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы