Как проверить совпадают ли элементы у массивов и изъять те которые не совпадают JavaScript [дубликат]

258
06 сентября 2017, 16:16

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

  • Симметрическая разность 4 ответа

Здравствуйте, друзья, У меня есть функция которая проверяет элементы в массиве и возвращает те, которые прошли проверку. Как изменить условия чтобы она возвращала те элементы, которые проверку не прошли? Простая смена == на != не работает

function areIn(oldAra) {
    return function(elem) {
        var returnArr = [];
        for (var i = 0; i < oldAra.length; i++) {
            for (var j = 0; j < elem.length; j++) {
                if(elem[j] == oldAra[i]) {
                    returnArr.push(elem[j]);
                }
            }
        }
        return returnArr;
    };
}
var arr = [1, 2, 3, 4, 5, 6, 7];
var check = areIn(arr);
console.log(check([2, 3, 4, 10])); //[2, 3, 4]
Answer 1

function areIn(oldAra) { 
    return function(elem) { 
        var returnArr = [], tmp = {}; 
        for (var i = 0; i < oldAra.length; i++) { 
            for (var j = 0; j < elem.length; j++) { 
                if(elem[j] == oldAra[i]) { 
                    tmp[elem[j]] = true; 
                } else { 
                    if (!tmp[elem[j]]) { 
                      tmp[elem[j]] = false; 
                    } 
                } 
            } 
        } 
                     
        for (var key in tmp) { 
            if (!tmp[key]) { 
                returnArr.push(key); 
            } 
        } 
         
        return returnArr; 
    }; 
} 
var arr = [1, 2, 3, 4, 5, 6, 7]; 
var check = areIn(arr); 
console.log(check([2, 3, 4, 10])); //[10]

Answer 2

function areIn(oldAra) { 
  return function(elem) { 
    return elem.filter(item => oldAra.indexOf(item) < 0); 
  }; 
} 
var arr = [1, 2, 3, 4, 5, 6, 7]; 
var check = areIn(arr); 
console.log(check([2, 3, 4, 10])); //[10]

READ ALSO
Прогресс бар по контуру фигуры

Прогресс бар по контуру фигуры

Необходимо сделать прогресс барВокруг определенной картинки (в данном случае векторной, пример картинки прикрепил) сделать обводку в виде...

302
Functions declared within loops referencing an outer scoped variable may lead to confusing semantics

Functions declared within loops referencing an outer scoped variable may lead to confusing semantics

Jshint ругается на то, что в функции есть ссылки на внешние переменныеЕсли их убрать, то перестаёт ругаться

722
Спидометр прелоадер

Спидометр прелоадер

Ребята, хотелось бы себе прелоадер в виде спидометраСам прелоадер уже готов, нужен только спидометр в силистике аля Mercedes-benz

230
Вывод темы обсуждения ВК

Вывод темы обсуждения ВК

На сайте был реализован вывод сообщений из определенной темы группы ВКУспешно работал

255