js 找数组中的最值
背景: 2个数组以下 , 比如 [[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]
找最值的时候,我一开始想用两个 for 循环比较每一个数组中的每一个数组的大小,然后保留最大值(最小值),最后再把它们组成一个新数组。
//
function largestOfFour(arr) {
var maxArr,
temp=[], // .push()是操作数组
z;
for (var i = 0; i < arr.length; i++) {
z=arr[i][0]; // 重点... 用来比较、保存
for (var j = 0; j < arr[i].length-1; j++) { // j+1了,防止超出,得-1
if (arr[i][j+1] > z ){
z = arr[i][j+1];
}
}
temp.push(z);
}
console.log(temp);
} largestOfFour([[1114, 5, 321, 3], [13, 127, 18, 26], [322, 35, 37, 39], [13000, 1001, 857, 1]]);
缺少基础,写出上面的代码颇有曲折,参考了很久排序算法(主要是选择排序)才慢慢的写出来....
------
中间其实是做不出来了,于是我就百度, 查到了js 里是可以自己算最大值最小值的.....
就是 Math.max() Math.min()
数组要放在其中使用的话,要用 apply() 才行
他们是这样举例的...
先是举例用了用 for 循环
var arr=[5,7,9,1]
// alert(Math.max(arr)) 这样是不行的。一定要这样写
function getMax(arr){
var arrLen=arr.length;
for(var i=0,ret=arr[0];i<arrLen;i++){
ret=Math.max(ret,arr[i]);
}
return ret;
}
然后是 apply()
var arr=[5,7,9,1];
function getMax2(arr){
return Math.max.apply(null,arr);
}
...
简洁了很多..很多
然后用到我的题目中呢就是这样的
function largestOfFour(arr){
var newArr = [],
temp;
for (var i = 0; i < arr.length; i++) {
temp = Math.min.apply(null,arr[i]);
newArr.push(temp);
}
return newArr;
}
largestOfFour([[1,2,3],[5,6],[9,77]]);
还阔以, 也简洁了许多..
请多指教
js 找数组中的最值的更多相关文章
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- js对象数组中的某属性值 拼接成字符串
js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...
- js 从数组中随机获取一个值
// 获取随机数 var rand = Math.floor( Math.random() * this.peoples.length ); // 随机从数组中取出某值(不会改变原数组) var da ...
- jst通用删除数组中重复的值和删除字符串中重复的字符
以下内容属于个人原创,转载请注明出处,非常感谢! 删除数组中重复的值或者删除字符串重复的字符,是我们前端开发人员碰到很多这样的场景.还有求职者在被面试时也会碰到这样的问题!比如:问删除字符串重复的字符 ...
- js从数组中删除指定值(不是指定位置)的元素
RT: js从数组中删除指定值的元素,注意是指定值,而不是指定位置. 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素,请问要怎么写? ...
- js 删除 数组中某个元素(转载)
来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...
- js判断数组中是否包含某个元素
参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromInd ...
- Js判断数组中是否存在某个元素
Js判断数组中是否存在某个元素 方法一:indexOf(item,start); Item:要查找的值:start:可选的整数参数,缺省则从起始位子开始查找. indexOf();返回元素在数组中的位 ...
- js 查找数组中某个字符出现的次数
1. js 查找数组中某个字符出现的次数 代码示例 let arr = ['asd', 'green', 'yeadt', 'red', 'wati', 'red', 'red'] let index ...
随机推荐
- python 直接存入Excel表格
def write_excels(self, document): outwb = openpyxl.Workbook() outws = outwb.create_sheet(index=0) fo ...
- eas之EAS手工打包及快速部署工具
EAS手工打包及快速部署工具:jar包的命名是项目名就好了. 1. 在eas的工作空间下:E:\Easworkspace\Project_0 有classes和deployed_metas这两个文 ...
- 【剑指Offer】 24、二叉树中和为某一值的路径
题目描述: 输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中, ...
- HTTP 状态码之:301、302 重定向
转自:http://www.cnblogs.com/5207/p/5908354.html 概念 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用 ...
- EasyUI 解决Js动态加载页面样式不显示问题
var strHtml = "<input name='mydate' class='easyui-datebox'>"; 直接使用append把内容加载到页面中,Ea ...
- AtCoder ABC 070D - Transit Tree Path
传送门:http://abc070.contest.atcoder.jp/tasks/abc070_d 本题是一个图论问题——树(Tree). 有一棵结点数目为n的无向树.第i条边连接结点ai与bi, ...
- spring-boot 访问时,加与不加项目名分析
众所周知,springboot非常便捷,可以简化项目开启步骤,加快开发进度. 很多新手也许都遇到过这样一个问题,在以往的springMvc项目里,大家伙都是把打的war放在tomcat中运行,下意识的 ...
- 【hihocoder 1329】 平衡树·Splay(set做法)
[题目链接]:http://hihocoder.com/problemset/problem/1329 [题意] [题解] 因为一开始是空的树,所以; n其实就代表了树中的最多元素个数; 则最坏的情况 ...
- html绑定点击事件传值
1.方法1function radioSelect(event){ var valueRadio=event.value; if(valueRadio =='目的口岸'){ return '目的口岸' ...
- Mysql学习总结(38)——21条MySql性能优化经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操作数 ...