在 JavaScript 中分組以相似數字開頭的字串
假設我們有一個數組,其中包含的數字由字串表示,如下所示:
const arr = ["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"];
我們需要編寫一個 JavaScript 函式,該函式接受一個這樣的陣列,並將所有以相同數字開頭的字串分組到一個公共子陣列中。
因此,我們函式的輸出應如下所示:
const output = [["1.1","1.2","1.3"],["2.1","2.2"],["3.1","3.2","3.3"],["4.1","4.2"]];
示例
程式碼如下:
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));輸出
控制檯中的輸出:
[ [ '1.1', '1.2', '1.3' ], [ '2.1', '2.2' ], [ '3.1', '3.2', '3.3' ], [ '4.1', '4.2' ] ]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP