2017-06-14 13 views

答えて

3

長さで並べ替えると、localeCompare()をアルファベット順に並べ替えることができます。

+0

すべてのいただきありがとうございます。このコードは完全に私のために働いています! –

+0

ようこそ。 –

+0

PHPでこれを行うにはどうすればいいですか? – TricksfortheWeb

1

ソート||オペレーターに複数の基準が適用されます。しかし、あなたの場合、単純な並べ替えが行います。

var array = ["a", "aaa", "bb", "bbb", "c"]; 
 

 
array.sort(function(a, b) { 
 
    return a.length - b.length || a.localeCompare(b); 
 
}); 
 

 
console.log(array);

それとも

var array =["c", "aa", "bb", "bbb", "b", "aaa", "a"]; 
 

 
array.sort(function(a, b) { 
 
    return a.length - b.length || [a,b].sort()[0]===b; 
 
}); 
 

 
console.log(array);

+0

ちょうど並べ替えを頭にかけると、ソース配列が変更されるので、新しい変数に割り当てる必要はありません。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort?v=control –

+0

元の配列を変更したくない場合は、最初にコピーを作成することができますこのhttps://stackoverflow.com/questions/9592740/how-can-you-sort-an-array-without-mutating-the-original-array –

+0

@jasonSperske良いポイント習慣の力。 – Rick

関連する問題