javascript - 按括号内的数字对行进行排序

标签 javascript shell sorting applescript

初始数据:

bla bla [200] bla bla
bla [100] bla bla
bla bla bla bla [400]
bla bla [150] bla bla

所需数据:

bla bla bla bla [400]
bla bla [200] bla bla
bla bla [150] bla bla
bla [100] bla bla

通过 javascript、shell 脚本或 applescript。

谢谢。

最佳答案

使用正则表达式从该行中提取括号中的数字,并在 sort() 中使用它。

var lines = [
    'bla bla [200] bla bla',
    'bla [100] bla bla',
    'bla bla bla bla [400]',
    'bla bla [150] bla bla'
];

function getNumber(line) {
    return parseInt(line.match(/\[(\d+)\]/)[1], 10);
}
lines = lines.sort(function(a, b) {
    return getNumber(b) - getNumber(a);
});

关于javascript - 按括号内的数字对行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25341141/

相关文章:

c# - 对 List<Tuple<string, Class>> 按字母顺序对元组的字符串值进行排序,C#

javascript - jQuery 输入值故障排除

javascript - 有没有办法同时捕获同一类型的多个事件?

java - 如何使用 java 将 getopts 参数传递给 shell 脚本

shell - awk 和带有多个变量的 for 循环

Python:如何将列表/数组/pd.Series中的零值设置为下一个非零值?

javascript - 如何对 Google Charts 数据表进行排序并将排序扩展到其他列?

javascript - 我想隐藏 asp :PlaceHolder in javascript

javascript - d3.js 不读取 Python 生成的 JSON

linux - 如何使用 shell 脚本在文件中查找/获取数字