考慮到以下陣列:
['state1035'/span>, 'dm5'/span>, 'state123'/span>, 'county247'/span>, 'county2']
在數字輸出的基礎上對這個陣列進行排序應該是:
['county2'/span> ,'dm5'/span>。'state123'/span>, 'county247'/span>, 'state1035'/span>]
uj5u.com熱心網友回復:
假設字串將有數字在一起,在最后你可以使用匹配來提取數字并排序:
。let arr = ['state1035'/span>, 'dm5', 'state123', ' county247', ' county2'] 。
console.log(arr.sort((a,b) => /span> a。 match(/d $/).pop() - b。 match(/d $/).pop());
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
比較函式中使用的匹配方法將回傳來自給定字串的匹配子字串陣列。重碼d 將與末尾的數字相匹配,我們將根據這些數字進行排序。
uj5u.com熱心網友回復:
使用正則運算式來
標籤:只針對字串中的數字進行匹配,然后根據這些數字對字串進行排序。
。
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
const data = ['state1035'/span>, 'dm5', 'bob0Bob', 'state123', ' county247', ' county2'] 。
const regex = d /;
const result = data.sort((a, b) => {
return a.match(regex) - b.match(regex) 。
});
console.log(result);
