ogurec222
@ogurec222
Валерий Жмышенко Альбертович

Где здесь ошибка в коде?

function getArrayEqualElementCountHard(array1 ,array2) {
        var count = 0;
        array1.reduce(function(result, item, index) {
            var findEl = result.findIndex(function(findItem){
                return item === findItem;
            });
            if(findEl !== -1){
                result.splice(index, 1);
                count++;
            }
            return result;
        }, array2);
        return count;
    }
    console.log(getArrayEqualElementCountHard([1, 2, 3], [3, 2, 1);)

Функция должна выводить 3 совпадения в консоль, а выводит 2. Вроде бы последний элемент идет с индексом -1 и иф не работает. Из-за чего такое происходит?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
не по тому индексу splice()

spoiler
Надо result.splice(findEl, 1);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Artezio Санкт-Петербург
от 160 000 до 220 000 ₽