Все привет. Подскажите, как, в данном примере вызвать функцию из прототипа в её теле (рекурсия). Ниже эта же работающая функция, выше я указал в какой строке вопрос. Спасибо.
Array.prototype.flatten = function () {
let result = [];
this.forEach(i => {
if (Array.isArray(i)) {
// result = result.concat(Array.prototype.flatten(i));
// result = result.concat(this.flatten(i));
// ????
} else {
result.push(i);
}
})
return result;
}
const a = [1, [2, ['3', 4, ['5'], [6, [7]]]], ['8']];
console.log(a.flatten()); // [1, 2, '3', 4, '5', 6, 7, '8']
/*
const f = function (a) {
let result = [];
a.forEach(i => {
if (Array.isArray(i)) {
result = result.concat(f(i));
} else {
result.push(i);
}
})
return result;
}
*/
// console.log(f(a)); // [1, 2, '3', 4, '5', 6, 7, '8']