Привет товарищ,

Обсудим постановку задачи.

У нас есть многомерный массив, и мы преобразовали этот массив в одномерный массив с уникальными значениями. Очень простая постановка задачи.

Пример: [1,3,[5, 6, [7, [6, 5], 4], 3],[4]]

Вывод: [1, 3, 5, 6, 7, 4]

Итак, давайте начнем. У нас есть массив и новая переменная с типом массива.

const arr = [1,3,[5, 6, [7, [6, 5], 4], 3],[4]];
let uniqueValues = [];

Теперь мы собираемся создать рекурсивный метод, в котором мы запускаем цикл для заданного массива, затем мы должны проверить длину текущей переменной, если длина равна true, это снова массив, другое разумное значение - простое число, тогда мы должны проверить значение в нашем массиве uniqueValues, если оно отсутствует, просто поместите текущее значение в массив uniqueValues, иначе простой вызов функция сама (convert(val)) с текущим массивом.

let convert = function(array) {
 for(val of array) {
    if(!val.length) {
        if(!uniqueValues.includes(val)) {
            uniqueValues.push(val);
        }
    } else {
        convert(val);
    }
 }
}

Как выполнить функцию?

convert(arr);
console.log(uniqueValues);

Выход:

Есливам нужна помощь, подпишитесь на меня в Github или LinkedIn.

Спасибо, достаточно! Если вам понравился этот пост, не забудьте поставить 👏.