当前位置:首页 > 谈天说地

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

34资源网2021-12-27817
原生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);

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/4138.html

分享给朋友:

相关文章

李开复经典语录大全

李开复经典语录大全

开复,你是想一辈子写一堆像废纸一样的学术论文呢?还是想用产品改变世界?”这是当时苹果公司的副总裁戴夫?耐格尔举着一杯透亮的自酿葡萄酒向他发出加入邀请。正是这句话点燃了李开复心中多年“世界因你不同”的梦想。他放弃了对终身教授职位的追求,做出了…

养成良好的习惯,做一名有品位的教师

养成良好的习惯,做一名有品位的教师

陶行知先生说:“思想决定行动,行动养成习惯,习惯形成品质,品质决定命运”。最近从网上读了《影响教师一生的100个好习惯》一书,不禁对陶先生这句话有了更深刻的领悟和理解。阅读本书带给我的不仅是享受,更多的则是生活的引领,智慧的传递和方法的教授…

应用汇下载安装最新版(2021最新版应用汇app)

应用汇下载安装最新版(2021最新版应用汇app)

Donews8月17日消息(记者 邱慧)近日,为安卓手机服务的应用型软件“应用汇”新版正式上线,同时推出“应用收藏”功能——“应用集”。 应用集主要分为“推荐”、“最热”、“最新”三类。应用汇官方介绍,此次新版上线后,安装包被优化缩小,给…

哪家的云主机好(国内五大云主机服务商)

哪家的云主机好(国内五大云主机服务商)

导言:博睿数据(股票代码688229)十余年专注APM领域,已为超过2000余家大型企业提供专业数据服务。依托先进的测评技术及丰富的行业经验,博睿宏远倾力打造了一个公开透明的性能测评栏目——【Bonree指数】。该栏目致力于呈现各行业的整体…

一周涨粉几百万,“张同学”凭什么火?

一周涨粉几百万,“张同学”凭什么火?

编者按:本文来自微信公众号时趣研究院(ID:SocialTouch2020),作者:时有趣,创业邦经授权转载 在最近的一段时间里,名叫“张同学”的博主刷屏了抖音,相关话题频频登上热榜,甚至还得到了人民网的点评。 张同学第一个视频的发布日期…

微信直接打开淘宝抖音,但李佳琦罗永浩带货,买不了

微信直接打开淘宝抖音,但李佳琦罗永浩带货,买不了

图源:摄图网 编者按:本文来自微信公众号IT时报(ID:vittimes),作者:江丽雯,编辑:郝俊慧 挨踢妹,排版:季嘉颖,创业邦经授权转载 11月29日,微信放开了对外链的限制。 当日发布的《关于〈微信外部链接内容管理规范〉的更新声明》…