Каков наилучший способ хранения key=>value
массива в javascript и как его можно перебрать?
Ключ каждого элемента должен быть тегом, например {id}
или просто, id
а значение должно быть числовым значением идентификатора.
Это должен быть либо элемент существующего класса javascript, либо глобальная переменная, на которую можно легко ссылаться через класс.
JQuery может быть использован.
javascript
jquery
Нажмите Upvote
источник
источник
Array.prototype.forEach
Ответы:
Вот что такое JavaScript-объект:
Вы можете пройти через это с помощью
for..in
цикла :Смотрите также: Работа с объектами (MDN).
В ECMAScript6 также есть
Map
(см. Таблицу совместимости браузера там):источник
var foo = Object.create(null)
а затем добавить к нему свойства, напримерfoo.bar = "baz"
. Создание объекта с{}
эквивалентноObject.create(Object.prototype)
, что означает, что он наследует все свойстваObject
. Обычно это не проблема, но это может привести к тому, что у вашего объекта будут неожиданные ключи, если какая-то библиотека изменила глобальныйObject.prototype
.Если я вас правильно понял
источник
Вы можете использовать карту .
Получить значение карты с помощью ключа
Получить размер карты
Проверьте ключ существует в карте
Получить ключи
Получить значения
Получить элементы карты
Распечатать пары ключ-значение
Печатать только ключи карты
Печатать только значения карты
источник
JSON.stringify()
.В javascript массив значений ключей хранится как объект. В javascript есть такие вещи, как массивы, но они также все еще считаются объектами, проверьте ответ этого парня: почему я могу добавить именованные свойства в массив, как если бы это был объект?
Массивы обычно отображаются с использованием синтаксиса в квадратных скобках, а объекты (массивы «key => value») - с использованием синтаксиса фигурных скобок, хотя вы можете получить доступ и задать свойства объекта с помощью синтаксиса в квадратных скобках, как показал Алексей Романов.
Массивы в javascript обычно используются только с числовыми автоматически увеличиваемыми ключами, но объекты javascript могут содержать пары именованных ключей, функций и даже другие объекты.
Простой массив, например.
Вывод -
0 "Канада"
1 "Мы"
2 "Франция"
3 "Италия"
Выше мы видим, что мы можем зациклить числовой массив с помощью функции jQuery.each и получить доступ к информации вне цикла с помощью квадратных скобок с цифровыми клавишами.
Простой объект (JSON)
Вывод -
Меня зовут Джеймс, и я программист 6 футов 1
имя Джеймс
профессиональный программист
Высота объекта {футы: 6, дюймы: 1}
В языке, подобном php, это будет считаться многомерным массивом с парами ключ-значение или массивом в массиве. Я предполагаю, потому что вы спросили о том, как пройти через массив значений ключа, вы хотели бы знать, как получить объект (массив значений =>), такой как объект person выше, чтобы иметь, скажем, более одного человека.
Итак, теперь, когда мы знаем, что массивы javascript обычно используются для числовой индексации, а объекты - более гибко для ассоциативной индексации, мы будем использовать их вместе для создания массива объектов, через которые мы можем циклически проходить, например:
JSON массив (массив объектов) -
Вывод -
Меня зовут Джошуа, и я 5 футов 11 генеральный директор
Меня зовут Джеймс, и я программист 6 футов 1
Меня зовут Питер, и я 4 фута 10 дизайнеров
Меня зовут Джошуа, и я 5 футов 11 генеральный директор
Обратите внимание, что вне цикла я должен использовать синтаксис в квадратных скобках с числовым ключом, потому что теперь это числовой индексированный массив объектов, и, конечно, внутри цикла подразумевается числовой ключ.
источник
Объекты внутри массива:
источник
Просто сделай это
источник
Я знаю, что уже поздно, но это может быть полезно для тех, кто хочет других путей. Другой способ сохранить массив key => values - использовать метод массива map (); ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map ) вы также можете использовать функцию стрелки
источник
Сегодня мы выпустили наш новый пакет под названием laravel-blade-javascript. Он предоставляет вам директиву Blade javascript для экспорта переменных PHP в JavaScript. Так что он в основном делает то же самое, что и популярный пакет Jeffrey Way PHP-Vars-To-Js-Transformer, но вместо экспорта переменных в контроллер наш пакет делает это в виде.
Вот пример того, как его можно использовать:
Визуализированный вид выведет:
Итак, в вашем браузере у вас теперь есть доступ к ключевой переменной:
Вы также можете использовать один аргумент:
Который будет выводить так же, как в первом примере.
Вы также можете использовать файл конфигурации, чтобы настроить пространство имен, в котором должны находиться все экспортированные переменные JavaScript.
источник