Giả sử, chúng ta có một mảng Số được biểu diễn bằng các chuỗi như thế này -
const arr =["1.1", "1.2", "1.3", "2.1", "2.2", "3.1", "3.2", "3.3", "4.1", "4.2"];Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong một mảng như vậy và nhóm tất cả các chuỗi bắt đầu bằng cùng một số trong một mảng con chung.
Do đó, đầu ra của hàm của chúng ta sẽ giống như -
const output =[["1.1", "1.2", "1.3"], ["2.1", "2.2"], ["3.1", "3.2", "3.3"], ["4.1", "4,2"]];Ví dụ
Mã cho điều này sẽ là -
const arr =["1.1", "1.2", "1.3", "2.1", "2.2", "3.1", "3.2", "3.3", "4.1", "4.2"]; const groupSimilarStarters =arr => {let res =[]; res =arr.reduce ((acc, val, ind) => {const firstChar =el => {return (el || '') .split ('.') [0];} if (firstChar (val) ===firstChar (arr [ind - 1])) {acc [acc.length - 1] .push (val);} else {acc.push ([val]);}; return acc;}, []); return res;} console.log (groupSimilarStarters (arr));Đầu ra
Đầu ra trong bảng điều khiển -
[['1.1', '1.2', '1.3'], ['2.1', '2.2'], ['3.1', '3.2', '3.3'], ['4.1', '4.2' ]]