เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขเป็นอินพุตเดียว อาร์เรย์อินพุทอาจมีรายการซ้ำ
ฟังก์ชันควรเรียงลำดับอาร์เรย์และจัดกลุ่มตัวเลขที่เหมือนกัน (ซ้ำ) เข้าไปในซับอาร์เรย์ของตัวเอง
เช่น:
ถ้าอาร์เรย์อินพุทคือ:
const arr = [5, 7, 5, 7, 8, 9, 1, 1];
ผลลัพธ์ควรเป็น:
const output = [ [1, 1], [5, 5], [7, 7], [8], [9] ];
ตัวอย่าง
โค้ดสำหรับนี้จะเป็นดังนี้:
const arr = [5, 7, 5, 7, 8, 9, 1, 1];
const sortAndGroup = (arr = []) => {
let result = [];
let groupArray;
arr.sort((a, b) => a - b);
for (let i = 0; i < arr.length; i++) {
if (arr[i - 1] !== arr[i]) {
groupArray = [];
result.push(groupArray);
};
groupArray.push(arr[i]);
};
return result;
};
console.log(sortAndGroup(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
[ [ 1, 1 ], [ 5, 5 ], [ 7, 7 ], [ 8 ], [ 9 ] ]