ホームページ >ウェブフロントエンド >jsチュートリアル >JS配列のソート
JavaScript の配列の sort() メソッドは、主に配列の要素を並べ替えるために使用されます。このうち、sort() メソッドにはオプションのパラメーターがあります。ただし、このパラメータは関数である必要があります。 配列の sort() メソッドを呼び出すとき、パラメータが渡されない場合、配列内の要素はアルファベット順 (文字エンコーディング順) に並べ替えられます 他の基準に従って並べ替えたい場合は、パラメータを渡す必要があります。この関数は 2 つの値を比較し、2 つの値の相対的な順序を表す数値を返します。
var arr = [22,12,3,43,56,47,4]; arr.sort(); console.log(arr); // [12, 22, 3, 4, 43, 47, 56],按照数字的第一个字排序的arr.sort(function (m, n) { if (m < n) return -1 //m < n 返回-1是从小到大排序,返回1是从大到小排序 else if (m > n) return 1 else return 0}); console.log(arr); // [3, 4, 12, 22, 43, 47, 56],按照数值大小排序
var arr = ['abc', 'Def', 'BoC', 'FED']; console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"],按首个字母在ASIIC中出现的位置排序console.log(arr.sort(function(s, t){ var a = s.toLowerCase(); var b = t.toLowerCase(); if (a < b) return -1;//从小到大排序 if (a > b) return 1; return 0; })); // ["abc", "BoC", "Def", "FED"]
var arr = [{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '赵六', age: 4}];var objectArraySort = function (keyName) { return function (objectN, objectM) { var valueN = objectN[keyName] var valueM = objectM[keyName] if (valueN < valueM) return 1 //从大到小排序 else if (valueN > valueM) return -1 else return 0 } } arr.sort(objectArraySort('age')) console.log(arr) // [{'name': '王五', age: 37},{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '赵六', age: 4}]
主に配列のsort()メソッドが使用されます。配列の要素を並べ替えます。このうち、sort() メソッドにはオプションのパラメーターがあります。ただし、このパラメータは関数である必要があります。 配列の sort() メソッドを呼び出すとき、
パラメータが渡されない場合、配列内の要素はアルファベット順 (文字エンコーディング順) に並べ替えられます他の基準に従って並べ替えたい場合は、パラメータを渡す必要があります。この関数は 2 つの値を比較し、2 つの値の相対的な順序を表す数値を返します。 1. 数値配列を小さい順に並べ替えます。
var arr = [22,12,3,43,56,47,4]; arr.sort(); console.log(arr); // [12, 22, 3, 4, 43, 47, 56],按照数字的第一个字排序的arr.sort(function (m, n) { if (m < n) return -1 //m < n 返回-1是从小到大排序,返回1是从大到小排序 else if (m > n) return 1 else return 0}); console.log(arr); // [3, 4, 12, 22, 43, 47, 56],按照数值大小排序
var arr = ['abc', 'Def', 'BoC', 'FED']; console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"],按首个字母在ASIIC中出现的位置排序console.log(arr.sort(function(s, t){ var a = s.toLowerCase(); var b = t.toLowerCase(); if (a < b) return -1;//从小到大排序 if (a > b) return 1; return 0; })); // ["abc", "BoC", "Def", "FED"]
var arr = [{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '赵六', age: 4}];var objectArraySort = function (keyName) { return function (objectN, objectM) { var valueN = objectN[keyName] var valueM = objectM[keyName] if (valueN < valueM) return 1 //从大到小排序 else if (valueN > valueM) return -1 else return 0 } } arr.sort(objectArraySort('age')) console.log(arr) // [{'name': '王五', age: 37},{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '赵六', age: 4}]
以上がJS配列のソートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。