Задать вопрос
  • Два одинаковые массива не равны?

    rework
    @rework
    Помог ответ? В благодарность отметь его решением
    в JavaScript массивы являются объектами. Метод get_arr возвращает вам каждый раз новый объект. Когда вы сравниваете массивы через ==, то сравниваются ссылки на объекты, а они, как я сказал выше, разные. Есть простые способы сравнить массивы приводя их к строке:

    get_arr().toString() == get_arr().toString()

    Или:

    JSON.stringify(get_arr()) == JSON.stringify(get_arr())


    В тоже время если ваши массивы будут реально ссылаться на один и тот же объект, то при сравнении вы получите true:

    var arr1 = get_arr();
    var arr2 = arr1;
    arr1 == arr2 // true


    Так же можно найти различия в массивах, для этого удобно использовать библиотеку lodash, метод difference - https://lodash.com/docs/4.17.4#difference
    Ответ написан
    Комментировать