Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с JS

Барак Обама Профи (581), на голосовании 4 месяца назад
Как объединить элементы двух массивов в один, чтобы при этом числа из этих двух массивов в одном расставились в порядке возрастания, чтобы при этом числа не повторялись, например:
* [1, 3, 5, 7, 9, 11, 12], [1, 2, 3, 4, 5, 10, 12] -> [1, 2, 3, 4, 5, 7, 9, 10, 11, 12]
Голосование за лучший ответ
Сергей Ремин Мудрец (15376) 5 месяцев назад
вначале записываем все в один массив, потом используем один из методов сортировки
Celtic Hammer Мудрец (16453) 5 месяцев назад
 let one = [1, 3, 5, 7, 9, 11, 12]; 
let two = [1, 2, 3, 4, 5, 10, 12];
let res = Array.from(new Set(one.concat(two))).sort((a,b) => a - b)
alert(res)
1,2,3,4,5,7,9,10,11,12
Или так
 let res = [...new Set(one.concat(two))].sort((a,b) => a - b)  
alert(res)
Андрей Устинов Мастер (2150) 5 месяцев назад
 const arrays = [[1, 3, 5, 7, 9, 11, 12], [1, 2, 3, 4, 5, 10, 12]] 
console.log(arrays.flat(Infinity).reduce((acc, curr) => !acc.includes(curr) ? [...acc, curr] : acc , []).sort((a, b) => a - b))
Андрей УстиновМастер (2150) 5 месяцев назад
Ой. понял ошибку. там надо массивы объединить. вот правильный код.
 const array1 = [1, 3, 5, 7, 9, 11, 12] 
const array2 = [1, 2, 3, 4, 5, 10, 12]
console.log(array1.concat(array2).reduce((acc, curr) => !acc.includes(curr) ? [...acc, curr] : acc , []).sort((a, b) => a - b))
Похожие вопросы