使用拆分函数对 Javascript 数组进行排序

And*_*rew 0 html javascript sorting split

我有一个看起来像这样的数组

var testArray = ['name1:13', 'name2:15', 'name3:13'];
Run Code Online (Sandbox Code Playgroud)

我想按冒号右侧的数字对数组进行排序。

到目前为止,我有这个:

var converted = testArray.map(
            function (item) {
                return item.split(':').map(
            function (num) {
                return parseInt(num);
          });
        })

        alert(converted)
        var sorted = converted.sort(function (a, b) { return a[1] - b[1] })
        alert(sorted);
Run Code Online (Sandbox Code Playgroud)

这以正确的顺序对它们进行排序,但我不确定如何传递每个字符串的第一部分,即冒号左侧的部分。

现在它返回: NAN,13,NAN,13,NAN,15

Cer*_*nce 5

创建一个辅助函数来访问[1]拆分结果的st 索引,然后在排序回调中,为两者调用该函数并返回差值:

var testArray = ['name1:13', 'name2:15', 'name3:13'];
const getVal = str => str.split(':')[1];
testArray.sort((a, b) => getVal(a) - getVal(b));
console.log(testArray);
Run Code Online (Sandbox Code Playgroud)