簡體   English   中英

如何對包含字母數字字符串的數組進行排序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM