В настоящее время я изучаю рекурсию и перешел от чисел, строк и массивов к использованию ее на объектах ... Я пытаюсь найти наилучший способ получения объекта в качестве аргумента и сбора ключей. объекта и всех вложенных объектов в массив
Я могу вернуть ключи объекта одного объекта, не используя рекурсию. Поэтому я пытался создать переменную в виде пустого массива, затем выполнить итерацию по объекту с помощью цикла for, а если «i» - это объект, то вставьте ключи объекта в переменную массива и верните ее. Это не сработает, к сожалению.
Хотелось бы следующее:
{lamp: 2, candle: 2, pillow: {big: 2, small: 4}, bathroom: {toilet: 1, shower: {shampoo: 1, conditioner: 2}}}
Для возврата:
[lamp, candle, pillow, big, small, bathroom, toilet, shower, shampoo, conditioner]
Надеюсь, этого достаточно, дайте мне знать, если нет :)
Я попробовал следующее:
function(obj) {
let keysArray = [];
for (let i = 0, i < obj.length, i++)
if (obj[i] === typeOf object) {
keysArray.push(obj[i].keys);
}
return keysArray
}