Этот вопрос стал хлебом насущным для интервью с разработчиками интерфейсов. Вот как это можно сделать:

Чтобы сгладить массив в JavaScript, вы можете использовать метод Array.prototype.flat(), новый метод, представленный в JavaScript, который можно использовать для сглаживания массива до заданной глубины.

Например, рассмотрим следующий массив:

const arr = [1, [2, [3, [4]]]];

Чтобы сгладить этот массив до глубины 1, вы можете использовать метод flat() следующим образом:

const flatArr = arr.flat(1);
console.log(flatArr); // [1, 2, [3, [4]]]

Чтобы сгладить массив до глубины 2, вы можете использовать метод flat() следующим образом:

const flatArr = arr.flat(2);
console.log(flatArr); // [1, 2, 3, [4]]

Чтобы полностью сгладить массив, вы можете использовать метод flat() следующим образом:

const flatArr = arr.flat(Infinity);
console.log(flatArr); // [1, 2, 3, 4]

Кроме того, вы можете использовать рекурсивную функцию для выравнивания массива вручную. Вот пример того, как вы могли бы это сделать:

function flattenArray(arr) {
 let flatArr = [];
 for (let i = 0; i < arr.length; i++) {
 if (Array.isArray(arr[i])) {
 flatArr = flatArr.concat(flattenArray(arr[i]));
 } else {
 flatArr.push(arr[i]);
 }
 }
 return flatArr;
}

const arr = [1, [2, [3, [4]]]];
const flatArr = flattenArray(arr);
console.log(flatArr); // [1, 2, 3, 4]

Надеюсь это поможет!