Задать вопрос
@eSelf

Почему при сравнении двух одинаковых массивов выводит false?

Например:
var arr1 = [1,2,3];
var arr2 = [1,2,3];

console.log( arr1 == arr2 ); //Выведет false

Только начал осваивать js, заинтересовал этот момент.
  • Вопрос задан
  • 3307 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
DigitalSmile
@DigitalSmile
http://brainstorage.me/digitalsmile
Вы сравниваете ссылки на объекты массива, а они разные.

Сравните например:
var a = "123"; 
var b = "123"; 
console.log(a == b);
var c = new String("123"); 
var d = new String("123"); 
console.log(c == d);
Ответ написан
Вкратце - потому, что это - объекты, а они, в общем случае, никогда не равны.
Объекты сравнивают по-другому, например так:
console.log(JSON.stringify(a1)==JSON.stringify(a2));

Или, например, переопределяют Array.prototype.equals
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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