Rumah >hujung hadapan web >tutorial js >Ringkasan kaedah Javascript untuk mendapatkan nilai maksimum dan minimum dalam petua array_javascript
Membandingkan saiz nilai dalam tatasusunan ialah operasi yang agak biasa. Terdapat banyak cara untuk membandingkan saiz Sebagai contoh, anda boleh menggunakan fungsi sort() terbina dalam adalah seperti berikut:
Kaedah 1:
//最小值 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; } //最大值 Array.prototype.max = function() { var max = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this[i] > max) { max = this[i]; } } return max; }
Jika anda memperkenalkan perpustakaan kelas untuk pembangunan, dan anda takut perpustakaan kelas juga melaksanakan kaedah prototaip dengan nama yang sama, anda boleh menyemak nama pendua sebelum menjana fungsi:
if (typeof Array.prototype['max'] == 'undefined') { Array.prototype.max = function() { ... ... } }
Kaedah 2:
Gunakan kaedah Math.max dan Math.min untuk mendapatkan keputusan dengan cepat. Apply membenarkan kaedah untuk menentukan objek panggilan dan parameter masuk, dan parameter masuk disusun dalam bentuk tatasusunan. Kini terdapat kaedah yang dipanggil Math.max, objek panggilan ialah Matematik dan berbilang parameter
Array.max = function( array ){ return Math.max.apply( Math, array ); }; Array.min = function( array ){ return Math.min.apply( Math, array ); };
Walau bagaimanapun, John Resig menjadikan mereka kaedah statik objek Matematik dan tidak boleh menggunakan panggilan berantai yang paling disukai oleh tuannya. Tetapi kaedah ini boleh menjadi lebih diperkemas Jangan lupa bahawa objek Matematik juga merupakan objek. Kita boleh menyimpan beberapa bit dengan menulisnya dalam nilai 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].min()// => 1
Kaedah 3:
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]; console.log(getMaximin(a,"max"));//10 console.log(getMaximin(b,"min"));//04
Kaedah 4:
var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a));//最小值
Tatasusunan berbilang dimensi boleh diubah suai seperti ini:
var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//转化为一维数组 alert(Math.max.apply(null,ta));//最大值 alert(Math.min.apply(null,ta));//最小值
Kandungan di atas adalah ringkasan kaedah Javascript untuk mendapatkan nilai maksimum dan minimum dalam tatasusunan yang dikongsi oleh editor saya harap anda menyukainya.