[英]How to sort an array comprised of alpha-numeric strings?
如果我有以下數組:
var num = [10% cats, 20% dogs, 30% fish, 40% turtles];
其中pct值始終連接到標簽。 有沒有一種簡單的方法可以從最大百分比到最小百分比? 與其他類似問題不同,此處的格式始終為xx% label
在通常的.sort(function(a,b) {return ba;}):
使用.sort()
.sort(function(a,b) {return ba;}):
因為這些不是數字而不起作用?
輸出應該是:
num = [40% turtles, 30% fish, 20% dogs, 10% cats];
您可以使用localeCompare
進行排序,指定numeric
選項。
var num = ['10% cats', '20% dogs', '40% turtles', '30% fish']; num.sort((a,b) => b.localeCompare(a, undefined, {numeric:true})); console.log(num);
您可以使用sort函數將字符串轉換為數值,然后再將它們與百分比進行排序。
var num = ['10% cats', '20% dogs', '30% fish', '40% turtles']; num.sort( sortByPercentage ); console.log( num ); function sortByPercentage( a,b ) { a = parseFloat(a); b = parseFloat(b); return ba; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.