Sekarang semakin banyak orang menggunakan nilai maksimum dan minimum dalam array, jadi saya telah menyusun metode untuk digunakan semua orang. Kode adalah sebagai berikut. Jika Anda memiliki pertanyaan, silakan hubungi saya. Mari kita belajar dan membuat kemajuan bersama.
Mari kita lihat contoh berikut:
var numreg = /^-?ht0-9#+.?ht0-9 bah$/array.prototype.min = function () {return this.reduce (function (prevalue, curvalue, index, array) {if (numfreg.test (prevalue) && numreg.test (curvalue) {ifreg.test (prevalue) && numreg.test (curvaluee) {{prevalue {prevalue> numale? numreg.test (prevalue)) {return curvalue;} else {return 0; Prevalue;Contoh 2:
fungsi getmaximin (arr, maximin) {if (maximin == "max") {return math.max.apply (math, arr); } else if (maximin == "min") {return math.min.apply (math, arr); }} var a = [3,2,4,2,10] var b = [12,4,45,786,9,78] Peringatan ("amax:" + getmaximin (a, "max") + "--- amin:" + getmaximin (a, "min") + "--- bmax:" + getmaximin (a, "min") + "--- bmax:" + getmaximin (bmin (a, "min") + "--- bmax:" + getmaximin (b, "")---": bmin (a," min ") +" --- BMAX: " + GETMAXIMIN (BMAXIMIN (A," MIN ")- getmaximin (b, "min")) // amax: 10 --- amin: 2 --- bmax: 786 --- bmin: 4 function getmaximin (arr, maximin) {if (maximin == "max") {return math.max.Apply (math, arr); } else if (maximin == "min") {return math.min.apply (math, arr); }} var a = [3,2,4,2,10] var b = [12,4,45,786,9,78] Peringatan ("amax:" + getmaximin (a, "max") + "--- amin:" + getmaximin (a, "min") + "--- bmax:" + getmaximin (a, "min") + "--- bmax:" + getmaximin (bmin (a, "min") + "--- bmax:" + getmaximin (b, "")---": bmin (a," min ") +" --- BMAX: " + GETMAXIMIN (BMAXIMIN (A," MIN ")- getmaximin (b, "min")) // amax: 10 --- amin: 2 --- bmax: 786 --- bmin: 4Mari kita lihat dua metode lagi
Metode 1:
// nilai minimum array.prototype.min = function () {var min = this [0]; var len = this.length; for (var i = 1; i <len; i ++) {if (this [i] <min) {min = this [i]; }} return min;} // nilai maksimum array.prototype.max = function () {var max = this [0]; var len = this.length; untuk (var i = 1; i <len; i ++) {if (ini [i]> max) {max = ini [i]; }} return max;}Jika Anda memperkenalkan pustaka kelas untuk pengembangan dan takut bahwa pustaka kelas juga mengimplementasikan metode prototipe dengan nama yang sama, Anda dapat membuat penilaian nama duplikat sebelum menghasilkan fungsi:
if (typeof array.prototype ['max'] == 'tidak terdefinisi') {array.prototype.max = function () {...}}Metode 2:
Hasilnya dapat diperoleh dengan cepat menggunakan metode Math.max dan Math.min. Apply dapat memungkinkan metode untuk menentukan objek panggilan dan parameter yang masuk, dan parameter yang masuk diatur dalam array. Sekarang ada metode yang disebut math.max, objek panggilan adalah matematika, dan memiliki banyak parameter.
Array.max = function (array) {return math.max.apply (math, array);}; array.min = function (array) {return math.min.apply (math, array);};Namun, John Resig adalah metode statis yang menjadikannya menjadi objek matematika dan tidak dapat menggunakan panggilan rantai yang paling disukai oleh master. Tetapi metode ini bisa lebih ramping. Jangan lupa bahwa objek matematika juga merupakan objek. Kita dapat menghemat beberapa bit saat menulisnya dengan ukuran literal objek.
Array.prototype.max = function () {return math.max.apply ({}, this)} array.prototype.min = function () {return math.min.apply ({}, this)} [1,2,3] .max () // => 3 [1,2,3].