Дополнительно
лучший способ получить ключ объекта javascript с ключом/значением
Если у меня есть объект JS, например:
var foo = { 'bar' : 'baz' }
Если я знаю, что foo
имеет такую базовую структуру ключ/значение, но не знаю имени ключа, какой самый простой способ получить его? for ... in
? $.each()
? Надеюсь, есть что-то получше....
165
16
Вы бы шли внутри объекта с помощью цикла for:
Или
Вы можете открыть каждый ключ по отдельности без перебора, как в:
Если вы хотите получить все ключи, объекта в ECMAScript 5 введен
.ключи
. Это поддерживается только новыми браузерами, а МДС документации предоставляет альтернативную реализацию (который также использует для...В кстати):Конечно, если вы хотите как ключ и значение, то для...в это единственное разумное решение.
Учитывая ваш объект:
Чтобы получить в <код>В баре</код> используйте:
Чтобы получить в <код>баз</код> используйте:
Предполагая, что один объект
А вкладыш для вас:
Это самый простой и легкий путь. Это, как мы делаем это.
в
в
У меня была такая же проблема, и это то, что работало
См МДН
Я не вижу ничего, кроме
for (var key in foo)
.Самый простой способ-это просто использовать Underscore.js:
Да, вам нужна дополнительная библиотека, но это's так легко!
Объекта.ключи() Объект.ключи() метод возвращает массив данного объекта's собственное перечисляемые свойства, в том же порядке, как это предусмотрено для...в цикл (разница в том, что для-в петлю перечисляет свойства в цепочке прототипов, а).
Объекта.значения() Объект.values() метод возвращает массив данного объекта's собственное перечислимых значений свойств, в том же порядке, как это предусмотрено для...в цикл (разница в том, что для-в петлю перечисляет свойства в цепочке прототипов, а также).
Для больше, пожалуйста, перейдите здесь
Поскольку вы упомянули
$.каждый()
, здесь'ы удобный подход, который будет работать в jQuery 1.6+:Нет другого способа, кроме как
for ... in
. Если вы не хотите использовать этот способ (возможно, потому что это крайне неэффективно проверятьhasOwnProperty
на каждой итерации?), то используйте другую конструкцию, например, массив kvp'ов:использовать для каждой петли для доступа к ключам в объект или карты в JavaScript
Примечание: Вы также можете использовать
это даст вам такой выход:
[бар];
Ну,
$.each
- это библиотечная конструкция, тогда какfor ... in
- это native js, что должно быть лучше.для показа как строку, просто использовать: