JavaScriptアレイソートの詳細な説明:インデックス値とFAQでソート
この記事では、JavaScriptを使用してアレイを効率的に並べ替える方法、特にインデックス値でソートする方法を紹介し、パフォーマンスを分析します。さらに、JavaScriptアレイソートに関するいくつかの一般的な質問に回答します。
インデックス値によるソートの例:
var data = Array(); data[0] = {"apples":1, "pears":2, "oranges":3}; data[1] = {"apples":3, "pears":3, "oranges":5}; data[2] = {"apples":4, "pears":1, "oranges":6}; console.log(data); //排序前 data.sort(function(a, b){ var a1= a.pears, b1= b.pears; if(a1== b1) return 0; return a1> b1? 1: -1; }); console.log(data); //排序后
このコードは、「梨」の値に基づいて配列を並べ替える方法を示しています。並べ替え前後の結果は一目で明らかです。梨の数は1、2、および3から増加します。
// 对象数组 var array = [{id:'12', name:'Smith', value:1},{id:'13', name:'Jones', value:2}]; array.sort(function(a, b){ var a1= a.name, b1= b.name; if(a1== b1) return 0; return a1> b1? 1: -1; });
// 数组数组 var array =[ ['12', 'Smith',1],['13', 'Jones',2]]; array.sort(function(a, b){ var a1= a[1], b1= b[1]; if(a1== b1) return 0; return a1> b1? 1: -1; });
JavaScriptアレイ注文FAQ(FAQ)
javascriptのsort()
関数は、デフォルトで昇順でソートされます。降順で並べ替えるには、比較関数を渡す必要があります。たとえば、
let array = [5, 2, 8, 1, 4]; array.sort(function(a, b) { return b - a; }); console.log(array); // 输出:[8, 5, 4, 2, 1]
b - a
が正の値を返した場合、b
はa
の前にランク付けされ、降順の順序が達成されます。
比較関数をsort()
関数に渡すことで達成できます。比較関数は、2つのオブジェクトの特定のプロパティ間の違いを返す必要があります。たとえば、
let array = [ { name: 'John', age: 23 }, { name: 'Jane', age: 21 }, { name: 'Oliver', age: 25 } ]; array.sort(function(a, b) { return a.age - b.age; }); console.log(array);
属性によってソートされます。 age
sort()
関数は、デフォルトで文字列のユニコード値によってソートされますが、これは予想される順序と一致しない場合があります(たとえば、大文字のユニコード値は小文字よりも小さい)。ケースに依存しないソートが必要な場合は、比較関数の文字列を小文字または大文字に変換できます。たとえば、sort()
let array = ['John', 'jane', 'Oliver']; array.sort(function(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); console.log(array); // 输出:['jane', 'John', 'Oliver']
関数は、デフォルトで数値を文字列として並べ替えて、辞書の順序になります。数値順序を並べ替えるには、2つの数値の差を返すために比較関数を渡す必要があります。たとえば、sort()
let array = [10, 2, 30, 4]; array.sort(function(a, b) { return a - b; }); console.log(array); // 输出:[2, 4, 10, 30]
sort()
関数は、日付オブジェクトを比較するとミリ秒に変換されるため、比較することができます。たとえば、sort()
let array = [ new Date(2021, 11, 1), new Date(2021, 10, 1), new Date(2021, 9, 1) ]; array.sort(function(a, b) { return a - b; }); console.log(array);
以上がjquery sort array by indexの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。