這個問題在這里已經有了答案: Javascript 排序數字 (1 個回答) 3 小時前關閉。
當我對多個陣列進行排序時遇到問題:
let number = '72 65 73 78 75 74 90 81 87 65 55 69 72 78 79 91 100 40 67 77 86';
let numberArray = number.split(' ');
let sortedNumber = numberArray.sort().map(Number);
console.log(sortedNumber);
它會回來
[100, 40, 55, 65, 65, 67, 69, 72, 72, 73, 74, 75, 77, 78, 78, 79, 81, 86, 87, 90, 91]
為什么在第一個索引中顯示 100?以及如何讓它成為最后一個?
uj5u.com熱心網友回復:
嘗試這個...
let number = '72 65 73 78 75 74 90 81 87 65 55 69 72 78 79 91 100 40 67 77 86';
let numberArray = number.split(' ');
numberArray.sort(function(a, b) {
return a - b;
});
console.log(numberArray)
它正在嘗試按字母順序排序...這將排序為數值
uj5u.com熱心網友回復:
您可以將演算法更改為:
1)轉換string為string array
number.split(" ")
2)映射string陣列以使其成為陣列numbers
numberArray.map(Number)
3) pass the custom comparator function in the sort method
.sort((a, b) => a - b)
注意:您可以將其設為單行
let sortedNumber = number.split(" ").map(Number).sort((a, b) => a - b);
let number = "72 65 73 78 75 74 90 81 87 65 55 69 72 78 79 91 100 40 67 77 86";
let numberArray = number.split(" ");
let sortedNumber = numberArray.map(Number).sort((a, b) => a - b);
console.log(sortedNumber);
/* This is not a part of answer. It is just to give the output full height. So IGNORE IT */
.as-console-wrapper { max-height: 100% !important; top: 0; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/353797.html
標籤:javascript 数组 排序 数字
上一篇:如何使用vba洗掉字串的第一行
