范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

JS判断两个数组是否相等,元素以及顺序相等,顺序不同但元素相等

  判断两个数组是否相等一般有两种场景。
  第一种是数组完全相等,即数组元素相同且元素顺序一致;
  第二则为元素相同但顺序不同。 数组完全相等
  如果数组元素只是字符串,数字,布尔值这些类型,可以考虑使用JSON.stringify或者join("")的做法,目的就是转为字符串,直接判断字符串是否相等,比如: // 基于join解决基本判断 const isArrEqual = (arr1, arr2) => {     return arr1.join("") === arr2.join(""); }; isArrEqual([1, 2, 3], [1, 2, 3]);// true isArrEqual([1, "", "b", false], [1, "", "b", false]);// true isArrEqual([1], [1, 2]);// false  // 基于JSON.stringify解决基本判断 const isArrEqual = (arr1, arr2) => {     return JSON.stringify(arr1) === JSON.stringify(arr2); }; isArrEqual([1, 2, 3], [1, 2, 3]);// true isArrEqual([1, "", "b", false], [1, "", "b", false]);// true isArrEqual([1], [1, 2]);// false
  但上述两种做法,都无法对比数组中包含undefined,null的情况,比如如下对比就暴露了问题: [undefined, 1, null, false].join("") === ["", 1, null, false].join("");// true
  这是因为对于join而言,undefined与null都会 被转为空字符串,所以上述代码左右两边得到的都是"1flase",因此相等。
  而对于JSON.stringify而言同样会存在这样的问题,比如如下例子: JSON.stringify([undefined, 1, NaN]) === JSON.stringify([null, 1, null]);// true
  这是因为对于JSON.stringify而言,undefined和NaN都会被转为null,这才导致上述代码相等。
  因此考虑基本数据类型以及NaN,其实可以这么实现它: const isArrEqual = (arr1, arr2) => {     return arr1.length === arr2.length && arr1.every((ele, index) => Object.is(ele, arr2[index])); }; isArrEqual([1, "b", false, undefined, null, NaN], [1, "b", false, undefined, null, NaN]);// true
  这里利用了 Object.is 方法,它接受两个参数,用于核对这两个参数是否相等,即便是NaN它也能有效判断。
  在导入excel表格场景中,也可以使用此方法来校验表头,判断是否使用正确的导入模版。 元素相同顺序不同
  有这样一种场景,我们认定两个元素相同但顺序不同的数组为相同数组,比如数组[A,B]与[B,A]是相同数组。
  比如一个功能设置模块,默认就勾选了[A,B]两个选项,下方会有一个更新按钮,只有用户修改了设置才会将更新按钮变为可点击状态,毕竟设置没改,就没更新的必要。
  考虑到实际场景中对于值的唯一性维护,因此数组中理论上不会存在相同的值,因此我们可以这么实现: const isArrEqual = (arr1, arr2) => {     return arr1.length === arr2.length && arr1.every((ele) => arr2.includes(ele)); }; isArrEqual([1, "b", false, undefined, null, NaN], [1, null, "b", undefined, false, NaN]);// true
  注意,上述实现是考虑到特殊场景不会让数组有重复项,因此可以这么实现,但如果数组有重复元素上述实现就不可行,比如这个例子就不OK: isArrEqual([1, 1], [1, null]);// true
  针对这种情况还是得考虑将两个数组进行排序,再按数组完全相等的思路对每一位进行对比。 const isArrEqual = (arr1, arr2) => {     return arr1.length === arr2.length && arr1.sort().every((ele, index) => Object.is(ele, arr2.sort()[index])); }; isArrEqual([1, 1], [1, null]);// false isArrEqual([null, 1], [1, null]);// true

农村人得了大病没钱医治了该怎么办?现如今国家对看不起病的有着重大保障,只要否合大病种类年均可报30余万,有低保的可免缴合疗保险,看病报销可达90以上,五保户看病全有民镇保障,一般贫困户有病先住院,出院一站式结算,报农村户口每年交600元养老保险,十五年后六十岁,能领到多少养老金呢?总得来说,新农保养老金基础养老金(现为70元)(十五年个人帐户总数除以139个月)1关于2017年养老保险一般养老金每年的调整时间为7月1日,但关于2017年城乡养老金将全面上调已张云雷要开演唱会了,你们期待在哪个城市开他的第一场演唱会?看到很多反对二爷开演唱会的,先说下自己的看法支持二爷一切形式的多栖发展,希望二爷按着自己的规划去做自己想做的事情,开心就好因为二爷跟二奶奶们承诺过,永远不会离开相声舞台,二爷说自己刺激战场菜鸟所讨厌的装备却被大神所宠爱,你知道是哪几种吗?绝地求生刺激战场已经上线将近一年的时间了,但这款游戏依旧有很多的萌新,他们在装备道具选择方面非常纠结,并不知道该如何选对物资进行抉择。有很多不被菜鸟玩家所喜爱的道具,却是大神心目中王者荣耀星耀5段位是什么水平?我是威威给你说王者,分享王者峡谷的最新资讯和动态,欢迎点赞,留言,吐槽,以及关注。在威威看来,星耀五这个段位在现在的S15赛季还是小强势的,因为目前的星耀五是从上个赛季的王者二十星为什么有人说王者荣耀国际版和日版都比国服精美细致得多?其实,要说王者荣耀国际服,日服比国服精美得多,这一点囧王者是不同意的。其实王者荣耀国际版和国服版,是截然不同的两个游戏。本次亚运会上,老帅他们打的就是王者荣耀国际版(AOV)。大家易建联能否打爆周琦?当然不能。首先来探讨技术能力。一年前周琦在cba最后一个赛季,易建联相比周琦有如下几个技术能力优点一,中远距离结合突破优势。这是由易建联在广东地位决定的,他是广东队的主攻点,有大把现在19元每月200G流量,还有必要办宽带吗?在家里一家人用WiFi,速度快,稳定,比流量好太多了。如果只是一个人用,可以不办宽带如果是一家人,当然要办宽带,宽带稳定,一家人都可以用。这要看你家需不需要,你家电视不需要宽带吗,为什么很多羽绒服都是黑色的?说到冬天保暖的衣服,羽绒服绝对是NO。1!毕竟冬天想要抗冻,还是得靠装备,羽绒服的保暖性没的说,近些年羽绒服的款式也是越来越多样,款式也逐渐时尚了起来,并不会像以前一样,走在大街上你从哪个瞬间开始决定不化妆了?1。在将近一年的时间里,我一直在用双眼皮贴。理由很简单,这玩意起初给了我极大的惊艳感,几乎胜过此前使用过的任何化妆品。我头一回知道,我眼睛的轮廓可以那么深,画完眼妆可以如此神采奕奕刚一卖出的股票,被卖的股票就涨起来了,是不是帐户被庄家监视了呢?放心,主力没那么无聊,其次也别把自己想的那么重要!大部分的散户会出现卖了涨,买了跌的情况是因为90的时候是进入主力陷阱之中的!特别是那些短线指标,图形甚至是消息面利空利好,都是配合
周小川全球碳价格将趋于一致,免费碳配额应逐渐淡出21世纪经济报道记者李德尚玉实习生廖怡媛北京报道原则上来说,免费配额应该按照一定的路线图和时间表逐渐的淡出,这方面还需要进一步的明确。11月21日,第十二届全国政协副主席博鳌亚洲论探寻中国式现代化之路丨探秘神奇装备诞生地视频加载中党的二十大擘画了以中国式现代化推进中华民族伟大复兴的宏伟蓝图。由中央网信办网络传播局指导,中共江苏省委网信办出品,现代快报制作的探寻中国式现代化之路我比任何时候更懂你(第七旬退役老兵跳江救人,记一等功近日,浙江省人民政府网站公布了为16位见义勇为先进人物记功奖励的决定。其中,诸暨浦阳江救人的73岁退役军人蔡祖宁被记为一等功。今年2月27日14时40分,一男子因感情纠纷,从浣纱大武汉淡水鱼价格持续下降腌鱼制作正当时央视网消息农业农村部数据显示,据对全国80家水产品批发市场成交情况监测,10月份全国淡水鱼类环比下跌2。46,同比下跌1。95。具体情况如何,来看记者在湖北武汉的探访。一大早,记者人民日报评论员坚决压实安全生产责任河南等地接连发生火灾等安全生产事故,造成重大人员伤亡,教训十分深刻!河南安阳市凯信达商贸有限公司火灾事故发生后,习近平总书记立即作出重要指示,强调要全力救治受伤人员,妥善做好家属安韩国国会启动梨泰院事故国政调查调查对象含16处机构中新网11月24日电据韩媒报道,韩国国会24日启动对梨泰院踩踏事故的国政调查,为期45天,总统室部分机构将接受调查。据报道,韩国朝野两大党鞭国民力量党朱豪英和共同民主党朴洪根23日无锡瞄准第二机场?丁蜀机场通航,谋划转型民用支线机场又一城加入第二机场竞逐江苏无锡。无锡日报图11月20日,位于无锡宜兴市丁蜀镇的丁蜀机场通航,一期占地497亩。作为A类通用机场,丁蜀机场目前主要承担公务出差,空中旅游表演航拍测绘等牛奶中全是防腐剂,不仅有毒还会致癌?3种牛奶才真的要少喝牛奶是天然的乳制品,含有丰富的膳食纤维和微量元素,它主要是由水,脂肪,蛋白质,乳糖等成分制作而成,营养价值比较高。在医学营养家的眼中,牛奶富含营养物质,又被称为白色血液。然而,现实家有孩子学习记忆力不好的看过来思维导图分类记忆法我们大部分家长和同学都应该了解过思维导图,那么,思维导图如何帮助孩子训练快速记忆的能力呢?今天我就给大家分享一个小技巧,帮助孩子掌握分类记忆技巧。在训练之前我们先做一个小测试,测测汪小菲百万床垫没了!当场被割烂送回收场现场人员试坐最后一次记者李湘文综合报导艺人大S被前夫汪小菲指控再婚后连床垫都不换,今(23日)直接将价值百万的床垫送到对方在台开的饭店SHOTEL,并由饭店方进行废弃处理。SHOTEL在傍晚5点多开放警惕肝脏不好,四个部位会发黑,2个部位会发臭清理肝脏,调理全身之气,使脏腑经络之气运行畅通无阻。很多时候很多人不知道如何判断肝脏的健康状况,有时候身体发出一些信号也能帮助我们判断肝脏的好坏。1。面色发黑肝病的特征是面部肤色逐