js プロトタイプについてしばらく読んだ後、js の拡張メソッドはプロトタイプに基づいていることがわかりました。たとえば、Array.prototype.XXXX は XXX メソッドを Array に拡張し、すべての配列でこのメソッドを使用できることがわかりました。
オブジェクト配列は属性に従って昇順または降順に並べ替えられることが多いため、C# の orderBy に似たメソッドを作成したいと思いました。コードは次のとおりです。
コードをコピー
コードは次のとおりです。 Array.prototype.OrderByAsc = function (func) {
var m = { };
for (var i = 0; i for (var k = 0; k if (this [i ]) < func(this[k])) {
m = this[k] = this[i];
this[i] = m; >}
}
}
これを返します;
}
Array.prototype.OrderByDesc = function (func) {
var m = {}; = 0 ; i for (var k = 0; k if (func(this[i]) > func(this) [k ])) {
m = this[k];
this[i] = m; }
return this;
}
呼び出されるメソッドは次のとおりです:
コードをコピー
コードは次のとおりです:
var arr = [{ name: 'aaa', Grade: 20 }, { name: 'ccc', Grade: 30 }, { name: 'bbb' , グレード: 40 } ];
コードをコピー
コードは次のとおりです:
for (var i = 0) ; i < orderArr.length ; i ) {
document.write(orderArr[i].name);
アイデアがある場合は、直接メッセージを残してお互いにコミュニケーションしてください。