Показать сообщение отдельно
  #21 (permalink)  
Старый 12.01.2012, 13:44
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от рони Посмотреть сообщение
Livaanderiamarum,
Сравнение двух массивов не учитывая порядок елементов))) за два прохода
function duplicat(b, c) {
    for (var d = [], e = {},a = 0; a < b.length; a++) e[b[a]]? e[b[a]]++:e[b[a]]=1 ;
    for (a = 0; a < c.length; a++) e[c[a]] && d.push(c[a]) && e[c[a]]--;
    return d.length == b.length && c.length == b.length
};
alert(duplicat([1,1,3,4,5],[5,4,3,1,1]))
alert(duplicat([1,1,3,4,5],[5,4,3,1,7]))
моя функция оптимальнее раз в 10)) можешь проверить)) у тебя столько ненужных вещей делается)
Ответить с цитированием