首页 > 解决方案 > 如何订购整数字符串、浮点数和特殊字符

问题描述

请帮忙,我是 javascript thx 的新手。 

let test = [" 1/2", " 3/4", " 1", " 1.1/4", " 1.1/2", " 2", " 2.1/2", " 3", " 4", " 3/8", " 1/4"];

标签: javascriptsorting

解决方案


@Nina 的解决方案既好又简单,但有些人喜欢避免 eval。

如果是这样,您提供的数据很好且易于解析,因此以下是另一种选择。

let test = [" 1/2", " 3/4", " 1", " 1.1/4", " 1.1/2", " 2", " 2.1/2", " 3", " 4", " 3/8", " 1/4"];

const val = str => { const [a,b = 1] = str.split('/'); return a / b };

test.sort((a, b) => val(a)-val(b));

console.log(...test);


推荐阅读