求数组最大最小值方法适用于任何数组

今天为大家分享一个方法,这个方法是针对数组的。在日常工作中,我们在遇到数组的问题时候也许会很头疼。特别是让我们从奇形怪状的数组中寻找出最大最小值。之前虽然介绍过一种求数组最大最小值的方法,但那个方法只是用于数组中都是数字的。

接下来,我介绍的方法,适用于任何数组,这话方法都会把数组中的数值挑出来,比一比大小。
Html代码:


代码如下:

<div id="box">
<b>['1200px', 300, 'abc', 4, 90, [], '12.56元', function(){}, 'xyz'-30, true, Number('abc')]</b>
<p>最大值和最小值是:<input id="inpu" type="button" value="显示" /></p>
</div>

html预览:
 
JavaScript代码:


代码如下:

//var arr = [ '1200px', 300, 'abc', 4, 90, [], '12.56元', function(){}, 'xyz'-30, true, Number('abc') ];
/*
找出最大值和最小值:1200、4
*/
window.onload = function(){
var arr = ['1200px', 300, 'abc', 4, 90, [], '12.56元', function(){}, 'xyz'-30, true, Number('abc')];

/*
getMinMax 获取最大最小值的方法
arr array 获取最大最小值的数组
num number 可传big或small
返回 number 参数若是big会返回最大值,small会返回最小值
*/
function getMinMax (arr,num) {
var big = parseInt(arr[0]),
small = parseInt(arr[0]),
i = 0,
al = arr.length;

for( i = 0; i < al; i++) {
if(parseInt(arr[i]) > big) {
big = parseInt(arr[i])

} else if(parseInt(arr[i]) < small) {
small = parseInt(arr[i]);
}
}
if (num=="big") return big;
else if (num=="small") return small;
}
//点击显示,会出现最大值12或最小值4
document.getElementById("inpu").onclick = function () {
this.parentNode.innerHTML = "2.最大值和最小值是:" + getMinMax (arr,"big") + "、"+ getMinMax (arr,"small");
}
}

预览效果:

以上便是我分享的数组最大最小方法。希望对大家有所帮助。有啥建议咱们可以随时交流哈。~

(0)

相关推荐

  • javascript中数组中求最大值示例代码

    复制代码 代码如下: <html> <head> <title>数组的最大值的获取</title> <script> //定义数组 var arr = [1,4,3,9,5,0,-1,7,22]; //最大值的下标,先假定为第一个元素的下标 var index = 0; for(var x = 0; x < arr.length; x++){ if(arr[index] < arr[x]){ index = x; } } docume

  • Js获取数组最大和最小值示例代码

    做项目的时候遇到一个返回查询内容里面,只取最大和最小值问题. 首先 复制代码 代码如下: /** * 数组最大值 * @param {Object} array * @return {TypeName} */ Array.max=function(array) { return Math.max.apply(Math,array); } /** * 数组最小值 * @param {Object} array * @return {TypeName} */ Array.min=function(a

  • 获取数组中最大最小值方法js代码(自写)

    现在获取数组中最大最小值用的越来越多了,于是乎我编了个方法供大家使用.代码如下,若有问题可以与我联系,咱们一起学习一起进步. 复制代码 代码如下: function getMaximin (arr,maximin) { if (maximin == "max") { return Math.max.apply(Math, arr); }else if (maximin == "min") { return Math.min.apply(Math, arr); } }

  • JavaScript获取数组最小值和最大值的方法

    本文实例讲述了JavaScript获取数组最小值和最大值的方法.分享给大家供大家参考.具体如下: var arr = new Array(); arr[0] = 100; arr[1] = 0; arr[2] = 50; var min = Math.min.apply(null, arr), max = Math.max.apply(null, arr); 以下是补充: var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Ma

  • 求数组最大最小值方法适用于任何数组

    今天为大家分享一个方法,这个方法是针对数组的.在日常工作中,我们在遇到数组的问题时候也许会很头疼.特别是让我们从奇形怪状的数组中寻找出最大最小值.之前虽然介绍过一种求数组最大最小值的方法,但那个方法只是用于数组中都是数字的. 接下来,我介绍的方法,适用于任何数组,这话方法都会把数组中的数值挑出来,比一比大小. Html代码: 复制代码 代码如下: <div id="box"> <b>['1200px', 300, 'abc', 4, 90, [], '12.56

  • jquery数组封装使用方法分享(jquery数组遍历)

    $.each(array, [callback]) 遍历 不同于例遍 jQuery 对象的 $.each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略. each遍历,相信都不陌生,在平常的事件处理中,是for循环的变体,但比for循环强大.在数组中,它可以轻松的攻取数组索引及对应的值.例: 使用方法如下: 复制代码 代码如

  • java 求解二维数组列最小值

    java 求解二维数组列最小值 比较二维数组列最小值,组成一个新数组返回. 实现核心算法,不需要使用IO 输入:{{5,6,1,16},{7,3,9}} 输出:{1,3} import java.util.Arrays; public class Col { public static int[] getColMin(int a[][]) { int[] res = new int[a.length]; for (int i = 0; i < a.length; i++) { int[] s =

  • javascript中数组的concat()方法使用介绍

    复制代码 代码如下: <html> <head> <title>数组的concat()方法</title> <script> /* 数组的concat()方法: 1.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 2.返回一个新的数组.该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的. 如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组. */ var arr1 = [

  • JS学习笔记之数组去重实现方法小结

    本文实例讲述了JS学习笔记之数组去重实现方法.分享给大家供大家参考,具体如下: 操作的数组 let arr=[0,1,23,'1',4,2,8,5,5,6,9,'asdasd','5'] 1. 利用ES6 的set 来进行数组去重 console.time("set") let type1=new Set(arr) console.log(type1) type1=[...type1] console.log(type1) console.timeEnd("set"

  • 求最大子数组之和的方法解析(2种可选)

    问题描述:一个有n个元素的数组,这n个元素可以是正数也可以是负数,求最大子数组的和. 方法1:蛮力法 思路:最简单也是最容易想到的方法就是找出所有子数组,然后求所有子数组的和,在所有子数组的和中取最大值. /** * 方法1(蛮力法):两次循环求最大子数组之和 */ public static int maxSubArray1(int[] a){ int i,j; int ThisSum=0; int MaxSum=0; for (i = 0; i < a.length; i++) { This

  • C语言求连续最大子数组和的方法

    本文实例讲述了C语言求连续最大子数组和的方法,是非常实用的技巧.分享给大家供大家参考. 具体实现方法如下: #include <iostream> using namespace std; int array[] = {1, -2, 3, 10, -4, 7, 2, -5}; //int array[] = {-10, -1, -2, -3, -4, -5}; const int size = sizeof array / sizeof *array; int maxSubArray(int

  • python+numpy按行求一个二维数组的最大值方法

    问题描述: 给定一个二维数组,求每一行的最大值 返回一个列向量 如: 给定数组[1,2,3:4,5,3] 返回[3:5] import numpy as np x = np.array([[1,2,3],[4,5,3]]) # 先求每行最大值得下标 index_max = np.argmax(x, axis=1)# 其中,axis=1表示按行计算 print(index_max.shape) max = x[range(x.shape[0]), index_max] print(max) # 注

  • Python实现求两个数组交集的方法示例

    本文实例讲述了Python实现求两个数组交集的方法.分享给大家供大家参考,具体如下: 一.题目 给定两个数组,编写一个函数来计算它们的交集. 例1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 例2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9] 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致 我们可以不考虑输出结果的顺序 二.解法 首先把两个数组都排序,然后两个数

  • python分治法求二维数组局部峰值方法

    题目的意思大致是在一个n*m的二维数组中,找到一个局部峰值.峰值要求大于相邻的四个元素(数组边界以外视为负无穷),比如最后我们找到峰值A[j][i],则有A[j][i] > A[j+1][i] && A[j][i] > A[j-1][i] && A[j][i] > A[j][i+1] && A[j][i] > A[j][i-1].返回该峰值的坐标和值. 当然,最简单直接的方法就是遍历所有数组元素,判断是否为峰值,时间复杂度为O(n^2

随机推荐