Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2010, 16:46
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

Как побороть определение прототипа в контексте массива?
На третьей итерации в массиве присутствует метод in_array

Как-нибудь это лечется? Очень не хочется при каждом цикле делать проверку на тип элемента.

Array.prototype.in_array = function(arg)
{
	for (var i=0; i < this.length; i++)
    {
		if (this[i] == arg)
        {
		    return i;
		}
	}

	return -1;
}

var arr = new Array('first','last');
for (i in arr)
{
    alert(arr[i] + "\n typeof: " + typeof arr[i])
}


выводит:

string
string
function
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2010, 16:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Не нужно перебирать массивы с помощью for-in. Или for (var i = 0; i < arr.length; i++) или метод forEach.
Ответить с цитированием
  #3 (permalink)  
Старый 01.03.2010, 17:19
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

Спасибо за совет с for, но мне нужно по ключам переборку делать.

Цитата:
или метод forEach.
а что это за метод? где про него почитать можно?
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2010, 17:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Василий Б.
Спасибо за совет с for, но мне нужно по ключам переборку делать.
Так у вас и делается по ключам. in_array такой же ключ, как и 0, 1, ...

Сообщение от Василий Б.
а что это за метод? где про него почитать можно?
http://alljs.ru/2009/08/rasshirenie-...ruktora-array/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить элемент массива? velo Общие вопросы Javascript 2 05.02.2010 14:58
Как сформировать строку из массива di@mond Я не знаю javascript 9 11.06.2009 16:35
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 15:53