2013-10-02 6 views
7

У меня есть простой объект, который всегда имеет один key:value как var obj = {'mykey':'myvalue'}Получить значение первого свойства объекта

Что является самым быстрым способом и элегантный способ, чтобы получить значение на самом деле не делать этого?

for (key in obj) { 
    console.log(obj[key]); 
    var value = obj[key]; 
} 

Как я могу получить доступ к значению через индекс 0 или что-то в этом роде?

+2

Пожалуйста, обратите внимание, что эта проблема не имеет ничего ** ** делать с JSON вообще. Кажется, вы смешиваете объектные литералы JavaScript (конструкции синтаксиса языка JavaScript) с JSON (независимый от языка формат обмена данными, например XML или CSV). Я отредактирую ваш вопрос соответствующим образом. См. Также: [Нет такой вещи, как «объект JSON»] (http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/). –

+1

* related *: [JavaScript: получить первое и единственное имя свойства объекта] (http://stackoverflow.com/questions/6765864/javascript-get-first-and-only-property-name-of-object) –

ответ

22
var value = obj[Object.keys(obj)[0]]; 

Object.keys входит в javascript 1.8.5. Пожалуйста, проверьте совместимость здесь http://kangax.github.io/es5-compat-table/#Object.keys

Edit:

Это также определяется только JavaScript 1.8.5.

var value = obj[Object.getOwnPropertyNames(obj)[0]]; 

Ссылка:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FWorking_with_Objects#Enumerating_all_properties_of_an_object

1
function firstProp(obj) { 
    for(var key in obj) 
     return obj[key] 
} 
Смежные вопросы