![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
здравствуйте,во общем задача такая. есть пустой массив, и есть массив значений,ну например пару слов там, теперь как можно сделать так что бы пустой массив проверялся бы заполненным, например - в заполненном массиве есть слово ЗАДАЧА и пустой массив прежде чем в себя добавить это слово, смотрит есть ли в нем элемент ЗАДАЧА,если нет то добавляет, типа if ..... != ... тогда пустой массив.push,может кто то пример посоветовать реализации
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 149
|
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
ага,а если как то методом перебора? то есть без нагромождений условий,например будет скажем 10 слов то будет таких - if (_emptyArray.indexOf(element) != -1) тоже 10. мне что то подсказывает можно как то массивПолный[i] != массивПустой[i] как бы один массив проверяет другой на наличие элементов, если в том нету то делать то что то.....
|
|
|||||
|
Чем вам не понравилось решение товарища ObOs?
Метод indexOf, ищет элемент в массиве, и возвращает его позицию, или -1 если его нету. Почитайте справку. И зачем 10 условий? |
|
|||||
|
listener
|
без if
public function getDistinctArray(arr:Array):Array { var ret:Array = []; var o:Object = { }; var len:int = arr.length; for (var i:int = 0; i < len; i++) o[arr[i]] = arr[i]; for (var p:* in o) ret.push(o[p]); return ret; } // usage var inArray:Array = ["one", "two", "two", "two", "three"]; var outArray:Array = getDistinctArray(inArray); trace(inArray); // one,two,two,two,three trace(outArray); // one,two,three |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
Цитата:
это что мне типа сделать вызов функции - addElement("ssdd","ffdfref","fdfd") |
|
|||||
|
А вы пробовали использовать код что вам написали?
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
ну как бы, разве можно передать в функцию ту больше чем одно слово? в данном случае - нет
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 149
|
Цитата:
Если брать мой пример, то можно например так: var inArray:Array = ["one", "two", "two", "two", "three"]; var emptyArray:Array = []; for(var i:int = 0; i< inArray.length; i++){ addElement(inArray[i]); } trace(emptyArray); // one,two,three function addElement(element:String):void { if (emptyArray.indexOf(element) != -1) { trace(element + " уже есть в массиве"); }else { emptyArray.push(element); trace("В массив добавлен элемент " + element); } } |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 215
|
Цитата:
Добавлено через 5 минут Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|