Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   удаляем одинаковые значения с массива (https://javascript.ru/forum/misc/37147-udalyaem-odinakovye-znacheniya-s-massiva.html)

qwermjk 09.04.2013 14:11

удаляем одинаковые значения с массива
 
Вот моя вторая функция которую я здесь выношу на обозрение!! С прошлой вы мне очень помогли, чтобы её усовершенствовать =)
Может быть будут идеи по этой функции:
Убирает одинаковые значения в массиве (я это применял для шахматного сайта, когда собирал номера битых полей!)
function array_unique(array){
	for(f=0; f<array.length; f++){
		for(u=array.length-1; u>f; u--){
			if(array[u] == array[f]) array.splice(u, 1);
		}
	}
}

array55 = [3,7,1,8,3,8,5,4,4,2,1,3,6,6];
alert(array55);
array_unique(array55);
alert(array55);

danik.js 09.04.2013 14:23

http://stackoverflow.com/questions/1...es-in-an-array

Akalenik 09.04.2013 14:23

array55 = [3,7,1,8,3,8,5,4,4,2,1,3,6,6];
uniqueArray = array55.filter(function(elem, pos) {
            return array55.indexOf(elem) == pos;
        });


так проще

danik.js 09.04.2013 14:36

Цитата:

Сообщение от Akalenik
так проще

Ага. Особенно когда начнешь тестировать кроссбраузерность :))

Akalenik 09.04.2013 14:42

Цитата:

Сообщение от danik.js
Ага. Особенно когда начнешь тестировать кроссбраузерность

А в чем тут могут быть проблемы с кроссбразерностью? Разбираюсь пока очень слабо, так что интересно сразу знать на какие грабли еще придется наступить :)

danik.js 09.04.2013 15:16

Цитата:

Сообщение от Akalenik
А в чем тут могут быть проблемы с кроссбразерностью?

Отсутствие поддержки в IE8.
http://kangax.github.io/es5-compat-t...ototype.filter

Akalenik 09.04.2013 15:22

А! Всего-то, а я уж думал что там что-то серьезное. Но спасибо за объяснение.

qwermjk 09.04.2013 15:48

Цитата:

Сообщение от Akalenik
1array55 = [3,7,1,8,3,8,5,4,4,2,1,3,6,6];2uniqueArray = array55.filter(function(elem, pos) {3            return array55.indexOf(elem) == pos;4        });

так проще

У меня в опере не работает это! (Версия:12.14 Сборка:1738)

devote 09.04.2013 16:05

Цитата:

Сообщение от qwermjk
У меня в опере не работает это! (Версия:12.14 Сборка:1738)

все нормально работает:
array55 = [3,7,1,8,3,8,5,4,4,2,1,3,6,6];
uniqueArray = array55.filter(function(elem, pos) {
            return array55.indexOf(elem) == pos;
        });
alert(uniqueArray);

qwermjk 09.04.2013 16:16

Цитата:

Сообщение от devote
alert(uniqueArray);

Терь работает, не то выводил!!


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