2016-05-12 171 views
-1

我想在字符串的長度數組的數組進行排序字符串值,如下陣列的排序陣列上在Javascript

var arr = [ 
    [1951, "Mayfer"], 
    [1785, "Actinac Capsules"], 
    [1007, "Ferri Injection"], 
    [1101, "Cetaphil"] 
]; 

var sortedArr = sortOnLengthOfString(arr); 

>> sortedArr = [ 
    [1951, "Mayfer"], 
    [1101, "Cetaphil"], 
    [1007, "Ferri Injection"], 
    [1785, "Actinac Capsules"] 
] 

是否與lodash優選溶液?還是純Javascript?

我還沒有找到重複的問題呢。有人能找到它嗎?請注意,我要求的排序是針對數組的數組而不是對象的數組。

+0

沒有對象的任何地方。所有這些都是數組。 – vaso123

+1

你有沒有試過*任何* ...? 'obj.sort((a,b)=> a [1] .length - b [1] .length)' – deceze

回答

2

您可以在此背景下使用Array#sort

var obj = [ 
    [1951, "Mayfer"], 
    [1785, "Actinac Capsules"], 
    [1007, "Ferri Injection"], 
    [1101, "Cetaphil"] 
]; 

obj.sort(function(a,b){ 
    return a[1].length - b[1].length 
}); 

console.log(obj); 
//[[1951, "Mayfer"],[1101, "Cetaphil"],[1007, "Ferri Injection"],[1785, "Actinac Capsules"]]