Этот вопрос закрыт для ответов, так как повторяет вопрос Как правильно написать функцию с произвольным числом аргументов?
@Ispanec1998

Как сделать динамическую длину ключей для обращения к объекту?

Есть объект this.data = {...}
Возможно ли динамический получить глубину вложенности в объекте?
Например мне надо получать this.data[user_list] и this.data[user][name]
Могу ли я сделать общее присвоение, чтобы не делать проверки по типу
if(args.length === 1) {
много одинакового кода со вставками this.data[args[0]] = value
}
if(args.length === 2) {
много одинакового кода со вставками this.data[args[0]][args[1]] = value
}
if(args.length === 3) {
много одинакового кода со вставками this.data[args[0]][args[1]][args[2]] = value
}


А сделать это без многократного повторения одинакового кода, где у нас меняется лишь вложенность в объекте
  • Вопрос задан
  • 114 просмотров
Ответы на вопрос 2
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
Object.keys
Object.keys(obj).forEach(key => {
console.log(obj[key].length)
})
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Есть готовые модули, например, rhalff/dot-object для работы с нотацией свойств через точку:
dot.str('qna.habr.com', 'value', this.data);
/* this.data: 
{
  qna: {
    habr: {
      com: "value"
    }
  }
} */

Установка: npm install dot-object --save
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы