Показать сообщение отдельно
  #15 (permalink)  
Старый 24.01.2011, 15:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

with-love-from-siberia,
Ваш пример не делает начальный массив массивом только с уникальными данными, если он изначально содержит неуникальные данные, можно конечно обьеднить с пустым массивом, для получения уникального.
Вариант получения массива с уникальными данными из нескольких массивов, при желании полученный результирующий массив можно затем отсортировать дополнительно.
Array.prototype.unique = function () {
    for (var d = arguments.length, a = 0; a < d; a++)
    for (var c = arguments[a], b = 0; b < c.length; b++) this.push(c[b]);
    for (a = 0; a < this.length; a++)
    for (b = a + 1; b < this.length;) if (this[a] === this[b]) this.splice(b, 1);
    else b++;
    return this
};

var arr1 = [4, 4, 1, 2, 3, 4, 1, 2, 3, 4];
var arr2 = [1, 4, 5, 6];
var arr3 = [7, 6, 5, 4];
arr1.unique(arr2,arr3);
alert(arr1);
.
Ответить с цитированием