Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   indexOf не хочет определять уровень в массиве (http://www.flasher.ru/forum/showthread.php?t=154292)

adman 15.04.2011 12:22

indexOf не хочет определять уровень в массиве
 
Код AS3:

var arr:Array = new Array();
 
arr.push({name:"tru", level:"18"});//0
arr.push({name:"one", level:"22"});//1
 
trace(arr.indexOf({name:"one", level:"22"}))//-1

Мне надо определять или по name или по level его уровень, что бы я его мог потом удалить из массива

Помоги те плиз

DZHETIGAPA 15.04.2011 12:31

Ты помещаешь объект в массив. А indexOf - это для стринговых переменных.

adman 15.04.2011 12:36

Тогда как мне удалить по name или по level

iNils 15.04.2011 12:45

Цитата:

Сообщение от DZHETIGAPA (Сообщение 989542)
Ты помещаешь объект в массив. А indexOf - это для стринговых переменных.

Ничего подобного. Ищется любой элемент. Просто в примере используются два разных объекта с одинаковым содержимым.
Код AS3:

var o1:Object = {name:"tru", level:"18"};
var o2:Object = {name:"one", level:"22"};
var arr:Array = new Array();
 
arr.push(o1);//0
arr.push(o2);//1
 
trace(arr.indexOf(o2))//1


DZHETIGAPA 15.04.2011 12:59

Цитата:

Сообщение от iNils (Сообщение 989546)
Ничего подобного. Ищется любой элемент. Просто в примере используются два разных объекта с одинаковым содержимым.

Спасибо за просветление. Даже и не знал. Надо будет попробовать.

adman 15.04.2011 12:59

iNils это конечно хорошая штука, я её даже использую потом, но как удалить по level

i.o. 15.04.2011 13:01

обойти вручную, не?

adman 15.04.2011 13:10

ваще я щас думаю сделать с помощью это кода то что мне надо:
Код AS3:

function removeDuplicate(odetaja_odezhda_array:Array):void {
var i:int;
var j:int;
        for (i = 0; i < odetaja_odezhda_array.length - 1; i++) {
                for (j = i + 1; j < odetaja_odezhda_array.length; j++) {
                        if (odetaja_odezhda_array[i].level===odetaja_odezhda_array[j].level) {
                                odetaja_odezhda_array.splice(j, 1);
                        }
                }
        }
}
removeDuplicate(odetaja_odezhda_array);

Но я не знаю как удалить с дублем орегинал

Добавлено через 47 секунд
в ручную не получится

i.o. 15.04.2011 13:12

уж удаление дубликатов поищите - неделю назад буквально была тема с кучей ответов

adman 15.04.2011 13:16

знаю одну тему сам создавал)))


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.