0

我想对包含名称和数字的字符串数组进行排序。但我想改进字母数字排序顺序以获得类似的顺序

John 8 test
John 9 test
John 10 test

而不是在顶部有“John 10 test”,因为“1”<“8”<“9”。我的想法是在任何数字之前插入数字的位数,因此在内部要排序的数组变为:

John 18 test
John 19 test
John 210 test

现在是一个字母数字正确排序的数组。

任何想法如何以简单的方式在数字之前插入数字的数量?RegExp 将是完美的。我在 nodejs/JavaScript 中做这一切。

提前致谢!

海诺布

4

1 回答 1

1

我自己找到了(一个)答案:

var a = "John 352 Name 1 test 23 better";
a.replace( /\d+/g, function( match, number) {
    return match.length + match;
});

做我想要的:-)

于 2012-07-20T07:07:56.917 回答