@newaitix

Как собрать все элементы объекта?

Есть такой код.
fetch('...').then((res)=>{
	return res.json();
}).then(function(res){
	var json=res.response;
	for(var i=0; i<json.length; i++){
		console.log(json[i])
		if(json[i].children!=undefined&&json[i].children.length>0){
			for(var j=0; j<json[i].children.length; j++){
				console.log(json[i].children[j]);
				if(json[i].children[j].children!=undefined&&json[i].children[j].children.length>0){
					for(var k=0; k<json[i].children[j].children.length; k++){
						console.log(json[i].children[j].children[k]);
						if(json[i].children[j].children[k].children!=undefined&&json[i].children[j].children[k].children.length>0){
							for(var l=0; l<json[i].children[j].children[k].children.length; l++){
								console.log(json[i].children[j].children[k].children[l]);
							}
						}
					}
				}
			}
		}
	}
});

Можно ли как то компактней записать это чтоб избежать это множество вложенных циклов?
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
const getNestedData = arr =>
  Array.isArray(arr)
    ? arr.flatMap(n => [ n, ...getNestedData(n.children) ])
    : [];

for (const n of getNestedData(response)) {
  console.log(n);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы