2016-09-19 11 views
2

私はこのようになります配列があります。Javascriptを:各内部配列の2番目の要素による配列のソート配列

const arr = [ 
    [500, 'Foo'], 
    [600, 'bar'], 
    [700, 'Baz'], 
]; 

を、私は、各内側の配列の2番目の要素のアルファベット順このarrをソートしたいと思い、すなわち:

[ 
    [600, 'bar'], 
    [700, 'Baz'], 
    [500, 'Foo'], 
] 

大文字小文字の区別がないことに注意してください。また、ここで便利な場合は、ロダッシュヘルパーを使いたいです!

+1

'。 – zerkms

+1

'_.orderBy(arr、x => x [1]。toUpperCase())' – georg

+0

[docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/) Global_Objects/Array/sort)、特にカスタム比較関数に関するものです。 – qxz

答えて

3

Array.prototype.sortを使用して、例の作業、コンクリートである:Array.prototype.sort`、無lodashまたは何か他のものが必要とされて

const arr = [ 
 
    [500, 'Foo'], 
 
    [600, 'bar'], 
 
    [700, 'Baz'] 
 
]; 
 

 
arr.sort((a,b) => a[1].toUpperCase().localeCompare(b[1].toUpperCase())); 
 

 
console.log(arr);

1

Array.prototype.sortは、配列内のアイテムの各ペアに適用される関数をとります。その関数の戻り値によって、アイテムのソート方法が決まります(正の数、0、または負の数を返す必要があります)。ここで

関連する問題