Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сравнить два массива (https://javascript.ru/forum/misc/24735-sravnit-dva-massiva.html)

Gozar 13.01.2012 16:02

Цитата:

Сообщение от nerv_ (Сообщение 150129)
Gozar, я просто открываю IE8 и кликаю по кнопке запустить из вашего поста. Тут сложно сделать что-либо неправильно)

Однако ты делаешь неправильно. Что не удивительно, если упереться рогами и не читать того, что тебе пишут.

Цитата:

Сообщение от Gozar (Сообщение 149861)
indexOf реализация для массивов и строк можно взять тут

Это цитата из первого моего сообщения в этой теме, на которое я тебе неоднократно указывал.

Быть упрямым не кавайно.

nerv_ 13.01.2012 20:51

Цитата:

Сообщение от Gozar
Быть упрямым

что есть, то есть :yes:
Цитата:

Сообщение от nerv_
Могу ошибаться, но этот вариант в IE работать не будет.

Подразумевался пример приведенный Вами на странице, в том виде, котором он есть.
Цитата:

Сообщение от Gozar
Прочитай внимательно моё первое сообщение!

А тут не въехал, что мы с Вами говорим о разных вещах :D Вообщем, сори :)

Snus 26.09.2015 09:34

Все проще простого.

function array_equal ( a, b )
{

   if ( a.length != b.length ) return false;
   
   a.sort();
   b.sort();
   
   for ( var i in a )
   {
   
      if ( a[i] != b[i] ) return false;
   
   }
   
   return true;

};

EmperioAf 26.09.2015 09:53

Цитата:

Сообщение от Snus
Все проще простого.

function array_equal ( a, b ) {
 
   if ( a.length != b.length ) return false;
    
   a.sort();
   b.sort();
    
   for ( var i in a ) {
      if ( a[i] != b[i] ) return false;
   }
   return true;
};
alert(array_equal([1,2], ['1','2']));

nerv_ 26.09.2015 10:25

некропостинг :)

EmperioAf, даже этого не надо. Я дальше

a.sort();
b.sort();


не читал, т.к. порядок элементов в массиве измениться.

Deff 26.09.2015 20:10

function array_equal ( a, b ) {
  return  a.join('\n&\n') == b.join('\n&\n') ;
}

рони 26.09.2015 20:31

Deff,
:-?
function array_equal ( a, b ) {
  return  a.join('\n&\n') == b.join('\n&\n') ;
}
var a;
alert([array_equal ( [a], [] ),[a].length,[].length]);
alert(array_equal ( ['1'], [[1]] ));

Vlasenko Fedor 26.09.2015 20:51

var a = [1,2,3];
var b = [1,2,3];
var c = [[1,2,3]];

alert(JSON.stringify(a) == JSON.stringify(b));
alert(JSON.stringify(a) == JSON.stringify(c));

nerv_ 26.09.2015 22:20

Poznakomlus,
alert(JSON.stringify([Array]) === JSON.stringify([null]));

Vlasenko Fedor 26.09.2015 22:38

nerv_, согласен +(не могу)
var a = [1,2,3];
var b = [1,2,3];
var c = [];
var d = [Array];
var e =[null];
function array_equal ( a, b ) {
    return a.every(function(el, i){
        return el === b[i];
    }, b);
}

alert(array_equal ( a, b ));
alert(array_equal ( a, c ));
alert(array_equal ( d, e ));


Часовой пояс GMT +3, время: 19:59.