как сравнить два массива в javascript — Q&A Хекслет
2026-02-26 17:03 Diff

Ответы

Для того чтобы просто сравнить массивы по значениям:

function isArraysEqual(firstArray, secondArray) { return firstArray.toString() === secondArray.toString(); }

или:

const areArraysEqual = (firstArray, secondArray) => { if ( firstArray.length === secondArray.length && firstArray.every((element, index) => element === secondArray[index]) ) { return true; } return false; };```

Прямое сравнение массивов всегда будет давать результат false. Поскольку массив, как объект, указывает на ссылку памяти, где хранится "значение". И эти ссылки всегда будут разными, за исключением случая когда мы сравниваем один и тот же объект (массив).

В последнем случае мы сравниваем один и тот же массив и получаем true, т.к. в b скопировалась ссылку на этот массив, а не значение.

Для того чтобы сравнить два массива и получить результат - например список уникальных значений, можно воспользоваться вложенными циклами:

function isEqual(array1, array2) { return JSON.stringify(array1) === JSON.stringify(array2); }