获取数组中最大值和最小值

var ary = [12,23,23,4,4,12,4,141,4];

1.利用obj存储

var min = max= null;

var obj = {};

for(var i=0;i<ary.length;i++){

var cur = ary[i];

obj[cur]= cur;

}
var count = 0 ;

for(var key in obj){

count++;

if(count===1){

min = key;

}

max = key;

}

console.log(min,max)

2.先排序然后掐头去尾;

ary.sort(function(a,b){
return a-b;
});
var max = ary[ary.length-1];
var min = ary[0];

3.假设法;

假设数组中的第一个值是最大的,然后和剩下的项进行依次的比较,如果比假设的值还要大,说明假设的值是错误的,把当前的项的值从新设置为当前假设的最大值;
var min = max = ary[0];
for(var i=0;i<ary.length;i++){
var cur = ary[i];
cur>max? max=cur:null;
cur<min? min = cur:null;
}
4.借用Math的max/min方法实现数组的最大值和最小值的获取
 var max = Math.max.apply(null, ary);
  var min = Math.min.apply(null, ary);
    console.log(max, min)
时间: 2024-10-13 16:19:24

获取数组中最大值和最小值的相关文章

js获取数组中最大值和最小值

var max = Math.max.apply(null, 数组); 获取最大值 var min = Math.min.apply(null, 数组);获取最小值 一句话获取数组中最大的数,最小数 原文地址:https://www.cnblogs.com/renjianjun/p/8918561.html

计算数组中最大值和最小值的差值

算法一 <?php /** * 获取数组中最大值和最小值的差值 */ function getDiffVal($arr) { $max = 0; $min = 0; foreach($arr as $k=>$v) { // 赋初值 if ($k == 0) { $max = $min = $v; } // 获取最大值 if ($v > $max) { $max = $v; } // 获取最小值 if ($v < $min) { $min = $v; } } $diff = $max

寻找数组中最大值和最小值

题目来源:<编程之美>2.10 题目:同时找出数组中的最大数和最小数 分析:最基本的方法是两次线性扫描数组,分别找出最大数和最小数,时间复杂度为O(n).其实我们可以一次扫描即可.首先,我们将输入元素相互进行比较,然后把较小的与当前最小值比较,把较大的与当前最大值进行比较.这样,对每两个元素共需3次比较. 如何设定已知的最大值和最小值的初始值依赖于n是奇数还是偶数.如果n是奇数,我们就将最大值和最大值的初值都设定为第一个元素的值,然后成对地处理余下的元素.如果n是偶数,就将对前两个元素做一次比

求数组中最大值,最小值

Array.prototype.max = function(){   //最大值 return Math.max.apply({},this)} Array.prototype.min = function(){   //最小值 return Math.min.apply({},this)} var myMax = [1,2,3].max()// => 3var myMin = [1,2,3].min()// => 1 console.log(myMin,myMax); var _getMi

求一个数组中最大值与最小值

#include <stdio.h> int main() { int array[10]={100,1,40,29,45,22,98,2,83,75}; int max=array[0];//将第一个元素赋值给max int min=array[0];//将第一个元素赋值给min int i; for(i=1;i<10;i++)//通过循环访问剩下的9个数组元素 { if(max<array[i])//将max与剩下的元素比较大小,将比max大的元素赋值给max max=arra

获取数组中元素的最大值、最小值、平均值、总和

1 package com.demo; 2 3 import javax.sound.midi.Soundbank; 4 5 /* 6 * 题目:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数, 7 * 然后求出所有元素的最大值,最小值,和值,平均值,并输出. 8 * 备注:所有随机数都是两位数 9 * 10 * Math.random()可以生成一个double类型随机数,范围是:[0.0, 1.0) 11 * 可以这样生成一个两位数的int类型的随机数:(int)(Math.

使用JavaScript&#183;求数组的最大值和最小值

前言  在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最大值和最小值的一些方法. 法一:其实利用 ECMAScript5的 ...展开运算符可以很简单的解决这个问题 var arr=[2,7,3,10,22,11]; Math.max(...arr); //44 Math.min(...arr); //2  法二 : 对数组进行遍历 对于数组的遍历,有多种不同的方法,下面对各种方法进行比较:Arr

javascript如何获取数组中的最大值和最小值

javascript如何获取数组中的最大值和最小值:比较数组中数值的大小时比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面再来介绍一下其他比较常用的方法,代码如下: function getMaximin(arr,maximin) { if(maximin=="max") { return Math.max.apply(Math,arr); } else if(maximin=="min") { return Math.min.appl

求数组的最大值和最小值

求数组的最大最小值,可以遍历一遍数组,然后分别记录最大值和最小值,这种方法需要的比较次数为2N次.如果想要减少比较次数,可以采用的方法是遍历数组,然后比较相邻元素,把相邻元素的较大值放在后面,较小的放在前面.在从较大值中选取最大值即为整个数组的最大值,从较小值中选取最小值即为整个数组的最小值.这时,需要的比较次数为1.5*N次. void findmaxmin(int a[],int n) { if(a==NULL||n<0) return ; int i=0; int maxe=0x80000