javascript - 如何对以“0”分隔的数字数字的子组中的数字进行排序,并删除零?
问题描述
我有一个包含整数的变量,条件是变量中的数字 0(零)是一个数字和另一个数字之间的分隔符。这些数字将根据数字本身的数字进行分离和排序。之后,排序后的数字将再次组合在一起,没有分隔符,输出为整数形式。
所以例子:
dividerSort(74108520159);
我想要的输出是
147258159
但我的输出是:
112455789
到目前为止我尝试过,希望你能帮助我弄清楚
function dividerSort(num){
const divider = 0
let getNum = Array.from(String(num), Number)
getNum = getNum.filter(item =>{
return item !== divider
})
getNum = getNum.sort()
getNum = getNum.join('');
console.log(getNum);
}
dividerSort(74108520159);
解决方案
function dividerSort(num){
var result = '';
var items = num.toString().split('0'); // items = ["741", "852", "159"]
items.forEach( item => {
result = result + item.split('').sort().join('') // see Explanation
});
console.log('Result: ', result);
}
dividerSort(74108520159); // Result: 147258159
说明: forEach() item
在items
每个字符处拆分item.split('')
。示例:"741"
变成一个数组['7', '4', '1']
。这个数组可以简单地用Array.sort()排序,这样它就变成['1', '4', '7']
了,然后用Array.join()重新组合成一个字符串。在每次迭代中,将结果连接到结果......
推荐阅读
- post - 这个 POST 请求有什么问题?
- matlab - 如何在 MATLAB 中创建矩阵输出?
- excel - VBA:设置单元格的值“对象'范围'的方法'值'失败”
- ios - 锁定屏幕上的通知/小部件与 Swift 中的按钮
- angular - 在 Angular 库中安装依赖项
- scala - 如何使用 ScalaMock 评估使用某些 Spark Dataframe 参数调用的函数并具有有用的输出
- flutter - 有没有办法为整个包/lib/文件夹设置`//@dart=2.12`?
- c# - 如何将模型映射到数据库
- python - Python - Sklearn - 具有数千个变量的多元线性回归
- conv-neural-network - 为什么 Grad CAM 需要调整为 224 x 224