В приведенной ниже функции я пытаюсь получить вывод, похожий на этот:
[[1,1,1,1], [2,2,2], 4,5,10, [20,20], 391, 392 591].
Я вижу, что проблема, которую я внедрил, заключается в том, что я всегда добавляю временный массив нажатием в функции, возвращая, в результате, все отдельные числа, кроме последнего числа в каждой функции, находятся в процессе толкнул в целевой массив с объектом массива также.
Мне кажется, что мне нужна дополнительная проверка состояния, но я не могу найти решение, которое работает.
Любые предложения будут высоко оценены.
const sortme = (unsortedArr)=> {
let tempArr = [];
let outputArr = [];
const reorderedArr = unsortedArr.sort((a,b) => a-b);
reorderedArr.forEach((number, i) => {
if ((i === 0) || (reorderedArr[i] === reorderedArr[i-1])) {
tempArr.push(number);
}
else {
outputArr.push(tempArr);
tempArr = [];
tempArr.push(number);
}
})
outputArr.push(tempArr[0]);
return outputArr;
}
const unsortedArr = [1,2,4,591,392,391,2,5,10,2,1,1,1,20,20];
sortme(unsortedArr);