js获取对象的值的方法(js对象取值的方法)

原生Math.max方法Math.max方法不能接收数组,可以使用ES6的…将数组打散constarr=[111,12,111,34,2,5,76];console.log(Math.max(…arr));当然也可以用appl

原生Math.max方法

Math.max 方法不能接收数组,可以使用ES6的…将数组打散

const arr = [111, 12, 111, 34, 2, 5, 76];console.log(Math.max(...arr));

当然也可以用apply方法调用

console.log(Math.max.apply(null, arr));

遍历获取最大值

遍历数组,依次比较,保存较大的数,最终得到的就是最大值,这里使用forEach遍历

function max2(arr) { let result = -Infinity; arr.forEach((item) => { if (item > result) { result = item; } }); return result;}console.log(max2(arr));

利用排序获取最大值

将数组使用sort方法排序后,第一个元素或最后一个元素就是最大值,再用shift或者pop方法取出(由升序还是降序决定),值得注意的是这两个方法会修改原数组,可以使用slice方法复制一份数组再执行弹出元素操作

function max3(arr) { return arr.sort((a, b) => a - b).slice().pop();}console.log(max3(arr));

使用filter排除小的值

使用filter函数依次取出<自身的元素,当取不出元素即返回的函数长度===零时,就取得了最大值,至于为什么用递归不用循环,用IIFE不用先声明后使用,嗯,就是单纯的不想

(function greater(arr, idx) { const res = arr.filter(item => item > arr[idx]); if (res.length === 1) { console.log(res[0]); return res[0]; } greater(arr, idx + 1);})(arr, 0);

使用every判断自己是否是最大值

使用every的原理和使用filter的原理类似,即当所有元素都<=本身的时候,本身就是最大值

(function greater(arr, idx) { if (arr.every(item => item <= arr[idx])) { console.log(arr[idx]); return arr[idx]; } greater(arr, idx + 1);})(arr, 0);

使用递归模拟数组方法

和上面两个方法类似,只是内层用了递归和IIFE模拟every

(function outer(arr, i) { let flag = function inner(arr, j) { if (arr[j] <= arr[i]) { return false; } return arr.length < j + 1 ? inner(arr, j + 1) : true; }(arr, 0); if (flag) { console.log(arr[i - 1]); return arr[i - 1]; } outer(arr, i + 1);})(arr, 0);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/71995.html

(0)
nan
上一篇 2021-12-27
下一篇 2021-12-27

相关推荐

  • iOS15.2.1正式版有哪些升级(iOS15.2.1正式版更新内容)

    iOS15.2.1正式版是苹果新推出的手机系统,这次iOS15.2.1正式版依旧有很多更新升级,也修复了不少问题,那么iOS15.2.1正式版系统有哪些更新内容呢?修复了哪些漏洞呢?今天我们就来评测一下,感兴趣的一起看看吧!版本说明更新版本:iOS1

    2022-01-16
    0
  • 中元节是哪一天?中元节是农历几月初几?2021年中元节是哪一天?

    2021年鬼节的日期:2021年08月22日,星期日,辛丑年(牛年)七月十五。中元节的习俗农历七月十五是传统节日中元节。古人以正月十五为天官生日,故定为上元节(即元宵),七月十五为地官生日,故定为中元节,

    2021-08-18
    0
  • 劝学原文及翻译高中(劝学原文及翻译注释)

    《劝学》是《荀子》一书的首篇。又名《劝学篇》。劝学,就是鼓励学习。原文君子曰:学不可以已。青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规,虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则

    2022-01-08
    0
  • 万里长江高铁第一隧!重庆长江隧道里程碑进展:开启盾构掘进阶段 !

    据央视新闻消息,6月16日,渝湘高铁重庆长江隧道“长江号”盾构机在重庆南山149米深的洞室内徐徐转动刀盘,启动难度最大的穿江作业。此举标志着全国首条穿越长江高铁隧道正式进入盾构掘进施工阶段,达成里程碑进展。据悉,重庆长江隧道从重庆火车站起始,经行范围下穿市政道桥、轨道交通线路、房屋建筑、人防洞室、长

    热点头条 2023-06-16
    0
  • 男子与老人起争执后被砸倒!双方情绪都很激动,谁也不肯退让!

    据报道:2023年5月1日,山东济南一对男女与老人发生争执后被砸倒在地;从网传的视频画面可以看出,当时老人和这对男女的情绪都很激动,双方谁也不肯退让,尤其是这名男子态度更是嚣张,疑似一名城管一直在拉架劝说,可这名男子非要扑向老人,还将脑袋伸出去让这位老人打,他以为老人肯定是不敢打,但气氛已经到了一定

    热点头条 2023-06-02
    0
  • 男子列车上偷亲熟睡陌生女子(女子老公就睡在下铺…)

    一男子在列车上偷亲熟睡的陌生女子竟自称没想到会对当事人造成伤害近日海口铁路公安处三亚站派出所受理一起列车内猥亵案件违法嫌疑人李某被处以五日行政拘留据悉,2021年9月30日,旅客章先生和林女士夫妻(都为化名)乘坐Z202次列车前往

    2022-01-14
    0

发表回复

登录后才能评论