У меня есть функция, которая принимает следующие аргументы:
set(section, field, pair, component, element, value)
Секция , поле , пара и компонент - это просто ключи внутри объекта.Они являются путевыми точками, поэтому мы можем путешествовать по иерархии.Очевидно, раздел - это голова, наша точка входа.
элемент - это целевой ключ, а значение - это значение, которое будет установлено.
Поскольку элементы расположены на разной глубине, я хотел бы сделать следующее:
set('utility', null, null, null, 'exportId', 'banana')
Это для мелкого доступа, и внутри он будет делать это:
dataObj[section][element] = value;
**/ As in
* data: {
utility: {
exportId: 'banana'
}
* }
*/
В других случаях, когда элемент находится глубже внутри объекта, может потребоваться сделать следующее:
dataObj[section][field][pair][component][element] = value;
Как лучше всего динамически определять путь к элементу, поэтому мы пропускаем ключи, которые передаются как «нулевые»?
, например:
set('history', 'current', null, null, 'fruit', 'apple')
**/ As in
* data: {
history: {
current: {
fruit: 'apple'
}
}
* }
*/
будет внутренне построен как:
dataObj[section][field][element] = value;
, как вы могли заметить, мы пропустили [pair][component]
, потому что эти слоты были переданы как null
(s).