背景: 2个数组以下 , 比如  [[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]

找最值的时候,我一开始想用两个 for 循环比较每一个数组中的每一个数组的大小,然后保留最大值(最小值),最后再把它们组成一个新数组。

  1. //
  2. function largestOfFour(arr) {
  3. var maxArr,
  4. temp=[], // .push()是操作数组
  5. z;
  6. for (var i = 0; i < arr.length; i++) {
  7. z=arr[i][0]; // 重点... 用来比较、保存
  8. for (var j = 0; j < arr[i].length-1; j++) { // j+1了,防止超出,得-1
  9. if (arr[i][j+1] > z ){
  10. z = arr[i][j+1];
  11. }
  12. }
  13. temp.push(z);
  14. }
  15. console.log(temp);
  16. }
  17.  
  18. largestOfFour([[1114, 5, 321, 3], [13, 127, 18, 26], [322, 35, 37, 39], [13000, 1001, 857, 1]]);

缺少基础,写出上面的代码颇有曲折,参考了很久排序算法(主要是选择排序)才慢慢的写出来....

------

中间其实是做不出来了,于是我就百度, 查到了js 里是可以自己算最大值最小值的.....

就是 Math.max()  Math.min()

数组要放在其中使用的话,要用 apply() 才行

他们是这样举例的...

先是举例用了用 for 循环

  1. var arr=[5,7,9,1]
  2. // alert(Math.max(arr)) 这样是不行的。一定要这样写
  3. function getMax(arr){
  4. var arrLen=arr.length;
  5. for(var i=0,ret=arr[0];i<arrLen;i++){
  6. ret=Math.max(ret,arr[i]);
  7. }
  8. return ret;
  9. }

然后是 apply()

  1.  
  1. var arr=[5,7,9,1];
  1. function getMax2(arr){
  2. return Math.max.apply(null,arr);
  3. }

...

简洁了很多..很多

然后用到我的题目中呢就是这样的

  1. function largestOfFour(arr){
  2. var newArr = [],
  3. temp;
  4. for (var i = 0; i < arr.length; i++) {
  5. temp = Math.min.apply(null,arr[i]);
  6. newArr.push(temp);
  7. }
  8. return newArr;
  9. }
  10. largestOfFour([[1,2,3],[5,6],[9,77]]);

还阔以, 也简洁了许多..

请多指教

js 找数组中的最值的更多相关文章

  1. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  2. js对象数组中的某属性值 拼接成字符串

    js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...

  3. js 从数组中随机获取一个值

    // 获取随机数 var rand = Math.floor( Math.random() * this.peoples.length ); // 随机从数组中取出某值(不会改变原数组) var da ...

  4. jst通用删除数组中重复的值和删除字符串中重复的字符

    以下内容属于个人原创,转载请注明出处,非常感谢! 删除数组中重复的值或者删除字符串重复的字符,是我们前端开发人员碰到很多这样的场景.还有求职者在被面试时也会碰到这样的问题!比如:问删除字符串重复的字符 ...

  5. js从数组中删除指定值(不是指定位置)的元素

    RT: js从数组中删除指定值的元素,注意是指定值,而不是指定位置. 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素,请问要怎么写? ...

  6. js 删除 数组中某个元素(转载)

    来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...

  7. js判断数组中是否包含某个元素

    参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromInd ...

  8. Js判断数组中是否存在某个元素

    Js判断数组中是否存在某个元素 方法一:indexOf(item,start); Item:要查找的值:start:可选的整数参数,缺省则从起始位子开始查找. indexOf();返回元素在数组中的位 ...

  9. js 查找数组中某个字符出现的次数

    1. js 查找数组中某个字符出现的次数 代码示例 let arr = ['asd', 'green', 'yeadt', 'red', 'wati', 'red', 'red'] let index ...

随机推荐

  1. structure vs class in swift language

    Both class and structure can do: Define properties to store values Define methods to provide functio ...

  2. HDU 2266 How Many Equations Can You Find(模拟,深搜)

    题目 这是传说中的深搜吗....不确定,,,,貌似更加像是模拟,,,, //我要做深搜题目拉 //实际上还是模拟 #include<iostream> #include<string ...

  3. Vim配置持续记录

    1. 家目录创建.vimrc文件 set nu    # 设置行号 set tabstop=4 # tab制表符缩进 set autoindent # 自动缩进 set showmatch # 括号匹 ...

  4. BZOJ 2956 模积和 (数学推导+数论分块)

    手动博客搬家: 本文发表于20170223 16:47:26, 原地址https://blog.csdn.net/suncongbo/article/details/79354835 题目链接: ht ...

  5. 2018ICPC南京

    可能上一次秦皇岛拿了银,有了偶像包袱? 打的时候感觉状态不是很好. 第一题,让你每次将连续一段区间的石头都拿掉.. 然后让你做个博弈. 橘子一顿分析,认为k+1的倍数都是输. 这时,我们以及默认i+1 ...

  6. Number Puzzle

    Number Puzzle Time Limit: 2 Seconds      Memory Limit: 65536 KB Given a list of integers (A1, A2, .. ...

  7. 0809MySQL实战系列:大字段如何优化|数据存储结构

    转自https://yq.aliyun.com/articles/59256?spm=5176.100239.blogcont59257.9.5MLR2d 摘要: 背景 线上发现一张表,1亿的数据量, ...

  8. CLR与Netframework版本的关系

    CLR有3个版本,详细地址看微软官方文档

  9. 《coredump问题原理探究》Linux x86版7.7节 set对象

    看一下bits/stl_map和bits/stl_set能够看到map和set的定义例如以下: 84 template <typename _Key, typename _Tp, typenam ...

  10. 【微信小程序】:小程序,新场景

    前言: 我们频繁进入的地方,是场景. 手机.是场景:浏览器.是场景.事实上,微信,也是场景-- 微信要做的是占领很多其它用户时间.占领很多其它应用场景.占领很多其它服务入口.这是商业本质想去垄断要做的 ...