«Вставка» новой пары «ключ: значение» в объект JavaScript - PullRequest
0 голосов
/ 01 августа 2020

Я понимаю, что в массив могут быть добавлены только элементы массива .pu sh ().

Я хочу выполнить sh эквивалент для объекта.

I знаете обозначения точек и скобок, так что это не старый вопрос. Мне нужно сделать это с переменными в al oop.

Я просмотрел Object.assign (), но, похоже, не могу заставить эту работу.

Функция ниже вызывается повторно . Мне нужно нормализовать данные, передаваемые в функцию, в мини-базу данных, используя объект js.

Последняя строка - это суть. Это (конечно) будет перезаписывать divContent [section] .items [idValue].

Как мне передать его в «pu sh» объект записи в ключ, представленный элементами [idValue]?

Я хочу получить {itemsKey: {k1: v1, k2: v2, k3: v3}}. Спасибо!

Нет необходимости поддерживать порядок индексов. Элементы необходимо будет называть позже, например, itemsKey [k1].

  function createItemDb (section, fileName, fileContent) {
    var fileExt = fileName.split('.')[1].toLowerCase();
    fileType = ((fileExt == 'caption') || (fileExt == 'url')) ? fileExt : 'img';
    if (fileType == 'img') {
      var regExp = /\((.*?)\)/g;
      var matches = regExp.exec(fileName);
      fileType = matches[1].toLowerCase();
    }
    var regRemoveParenIncl = /\([^)]*\)/;
    var regRemoveExt = /\.[^\/.]+$/;
    var idValue = fileName.replace(regRemoveParenIncl,'').replace(regRemoveExt,'');
    
    record = {};
    record[fileType] = fileName;
    
    divContent[section].items[idValue] = record;
  }

1 Ответ

0 голосов
/ 01 августа 2020

Кажется, вам нужна структура, которая может одновременно:

  • Доступ по индексу (поддерживать порядок)
  • Доступ по ключу (неупорядоченный доступ)

Такого не существует. Что вы можете сделать, так это создать пользовательский объект, который хранит как массив, так и объект, а затем создавать функции, чтобы вы могли хранить и получать доступ с переопределенными параметрами, позволяющими как индекс (целое число), так и ключ (строка).

Возможно, это также может помочь: Доступ к нечисловым c свойствам объекта по индексу?

...