Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2010, 17:57
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

Получение первого элемента объекта
Как получить первый элемент объекта?
То есть
obj = {a: 'one', b: 'two'};
var first;
for(i in obj){
  if(!first)}{
     first = obj[i];
  }
}


но только с помощью готового метода
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2010, 19:07
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Object.prototype.getFirstProperty = function () {
	for (var i in this) {
		return this[i];
		break;
	}
}

Последний раз редактировалось exec, 02.06.2010 в 19:39.
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2010, 19:21
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

То есть только самописные методы?
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2010, 19:27
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Да.
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2010, 19:35
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

Спасибо, тогда лучше бы еще в цикле добавить break что бы лишние элементы не проверять или лучше сразу return.

p.s после php до сих пор не могу привыкнуть что базовые элементы можно вот так запросто расширять своими методами
Ответить с цитированием
  #6 (permalink)  
Старый 02.06.2010, 19:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

У объектов нет первого свойства. Спецификация языка не обязывает перебирать свойства в том же порядке, в котором они были добавлены.
Например, такой код
var o = {c: 1, b: 1, a: 1, 5: 1, 3: 1};
var res = [];
for (var i in o) {
    res.push(i);
}
alert(res);
в последней Опере и Хроме выведет 3,5,c,b,a (числовые свойства сортируются и вылезают вперёд).
Ответить с цитированием
  #7 (permalink)  
Старый 02.06.2010, 20:01
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

хм.. хорошее замечание, в моем случае значит нужно делать ключ из свойства order благо оно уникальное
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение стиля элемента. BreatheInTheVoid Элементы интерфейса 4 01.05.2010 17:25
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 16:04
Получение аттрибута конкретного элемента qloun jQuery 2 01.02.2009 09:26
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00
Не работает перебор свойств объекта BANick Общие вопросы Javascript 1 16.09.2008 22:46