在 JavaScript 中对以相似数字开头的字符串进行分组
javascriptweb developmentfront end technologyobject oriented programming更新于 2026/1/24 3:56:17
假设,我们有一个由类似这样的字符串表示的数字数组 −
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' ] ]
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

