2017-10-18 55 views
-4
var cars = ["a", "c", "s", "r"]; 
function mysort() { 

document.getElementById("show_cars").innerHTML = cars;} 

我希望我的輸出結果排序C,A,R,S如何在javascript或其他方法中自定義排序函數?

//output 
c,a,r,s 

anyidea如何做到這一點???非常感謝你

+6

背後是什麼,你要排序的邏輯是什麼? –

+2

*我希望我的出來結果按c,a,r,s排序*爲什麼?如果結果是預定義的,那麼爲什麼要經歷排序的麻煩呢? – gurvinder372

+0

可能是一個XY問題..?你需要檢測,如果你可以從數組中的字母中形成單詞「cars」,並且你只是假設,那麼排序是要走的路。 – Teemu

回答

0

您可以創建一個對象來定義每個字母的順序並按該對象進行排序。

var cars = ["a", "c", "r", "s"]; 
 
var s = {c: 1, a: 2, r: 3, s: 4} 
 
var r = cars.sort((a, b) => s[a] - s[b]).join(',') 
 

 
console.log(r)

-1

你應該實現你自己的自定義函數並將它傳遞給數組排序函數。 您的自定義函數應該有標準來排列數組中的元素。

var cars = ["a", "c", "r", "s"]; 
cars.sort(function(a, b) { 
    //Return the result of comparing your a and b elements. 
    return result; 
}); 
console.log(cars.join("")); 
相關問題