Привет товарищ,
Обсудим постановку задачи.
У нас есть многомерный массив, и мы преобразовали этот массив в одномерный массив с уникальными значениями. Очень простая постановка задачи.
Пример: [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.
Спасибо, достаточно! Если вам понравился этот пост, не забудьте поставить 👏.