Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получение первого элемента объекта (https://javascript.ru/forum/events/9716-poluchenie-pervogo-ehlementa-obekta.html)

Kein 02.06.2010 17:57

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


но только с помощью готового метода

exec 02.06.2010 19:07

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

Kein 02.06.2010 19:21

То есть только самописные методы?

exec 02.06.2010 19:27

Да.

Kein 02.06.2010 19:35

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

p.s после php до сих пор не могу привыкнуть что базовые элементы можно вот так запросто расширять своими методами:)

Kolyaj 02.06.2010 19:47

У объектов нет первого свойства. Спецификация языка не обязывает перебирать свойства в том же порядке, в котором они были добавлены.
Например, такой код
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 (числовые свойства сортируются и вылезают вперёд).

Kein 02.06.2010 20:01

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


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