@pgabow

Как стипизировать функцию разбора массива любой вложенности?

Без типизации отлично работает следующий вариант c рекурсией:

const exampleOne = [['Слово1', 'Слово2'], ['Слово2', 'Слово3', 'Слово5'], ['Слово4']];

const depthArray = (arr) => {
	let res;

	const tempArr = arr.reduce(function (newArr, item) {
		if (Array.isArray(item)) {
			res = depthArray(item);
		} else {
			res = item;
		}
		return newArr.concat(res);
	}, [])
	return tempArr;
}

На мой типизированный вариант ошибок интерпретатор не дает и все работает, но самому не нравится корявость кода:

const depthArrayTS = (arr: any) => {
	let res: any;

	const tempArr: string[] = arr.reduce((newArr: string[], item: any) => {
		if (Array.isArray(item)) {
			res = depthArray(item)
		} else {
			res = item;
		}
		return newArr.concat(res)
	}, [])
	return tempArr
}

Как это сделать более правильно?
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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