У меня есть объект JavaScript, как
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
}
Как я могу получить длину и список ключей в этом объекте?
javascript
user160820
источник
источник
Ответы:
источник
keys
.Object.prototype
, что вам не следует делать в любом случае. Однако для пользовательских конструкторов вы правы.[]
ему (илиarray()
тогда) делает его массивом, который затем можно безопасно использовать в качестве массива.Это поддерживается большинством основных браузеров.
источник
for(key in ob)
!Object.keys
не перечисляет ключи от прототипов, но.. in obj
делает.Underscore.js делает преобразование довольно чистым:
Редактировать: я пропустил, что вы можете сделать это тоже:
источник
Если вам нужны только ключи, относящиеся к этому конкретному объекту, а не какие-либо производные
prototype
свойства:например:
источник
чтобы получить доступ к любому значению из объекта, вы можете использовать obj [key];
источник
keys.length
, который отличается для каждой итерации, поскольку каждая итерация вставляет значение.Можешь попробовать:
это вернется:
чтобы получить список ключей или
чтобы получить значения
источник
Ответ Анурагса в основном правильный. Но для поддержки
Object.keys(obj)
старых браузеров вы также можете использовать приведенный ниже код, который скопирован с https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys . Он добавляетObject.keys(obj)
метод, если он не доступен из браузера.источник
Обратите внимание, что в coffeescript это может быть выполнено во всех браузерах и узлах как
и поэтому
источник
Рекурсивное решение для браузеров, поддерживающих ECMAScript 5:
источник
источник
использование
Object.keys()
... это путь.Полная документация доступна на сайте MDN по ссылке ниже:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
источник
Если вы решили использовать Underscore.js, лучше
источник
В JavaScript объект представляет собой отдельную сущность со свойствами и типом.
Для извлечения значений из Object в виде массива: Object .values (obj) // obj - это имя объекта, которое вы использовали. Результат -> ["value1", "value2", "value3", "value4"]
Для извлечения ключей из Object в виде массива: Object .keys (obj) // obj - это имя объекта, которое вы использовали Результат -> ["key1", "key2", "key3", "key4"]
Поскольку обе функции возвращают массив, вы можете получить длину ключей или значение, используя свойство length. Например - Object .values (obj) .length или Object .keys (obj) .length
источник
Для строки с запятой, в которой перечислены ключи объекта JSON, попробуйте следующее:
источник
Используя ES6, вы можете использовать
forEach
для перебора ключей объекта. Чтобы получить все ключи, которые вы можете использовать,Object.keys
который возвращает все ключи в объектеБудет короткая рука из приведенного выше фрагмента, которая принимает только один параметр
источник
источник
используя ломтик, применить и объединить метод.
источник