大家一定遇到过这样的情况,有两个日期对象,然后需要判断他们是否相等。 例如: 这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false。这是因为date1、date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较 ...
今天优化代码的时候,发现一个问题,js比较日期是否相等时,我用 去比较,发现两个时间不相等但是运行结果却是true,然后去百度了下发现oldStartTime, startTime都是对象,类型为引用类型,所以如果需要比较他们,需要去比较他们的字面量值,而不是单纯的用 来比较。 var oldStartTime new Date var startTime new Date console.lo ...
2018-12-14 18:31 0 5792 推荐指数:
大家一定遇到过这样的情况,有两个日期对象,然后需要判断他们是否相等。 例如: 这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false。这是因为date1、date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较 ...
1、 将两个数组转成字符串比较 1.1但是发现他们只是顺序不相等也被当做不相等 1.2、我们可以先把数组排序按照从小到大的顺序sort()函数 这样的就是"1,2,3"=="1,2,3"结果是相等的。 2、如果数组里的元素是标量,非object类型,可以使用==比较数组 ...
很多小伙伴再判断两个值是否相等都喜欢用===,ES6中新增了一个Object.is(val1,val2)方法是否还记得? 对于Object.is来说,其运行结果在大部分情况中与===运算符相同,唯一的区别在于+0和-0被识别为不相等并且NaN与NaN等价。 举个 ...
1、 将两个数组转成字符串比较,但是发现他们只是顺序不相等也被当做不相等 [1,2,3].toString()== [3,2,1].toString() ----false 2、我们可以先把数组排序按照从小到大的顺序sort()函数 [1,2,3].sort().toString ...
1.使用ES6 新增的扩展运算符和Set新数据类型判断两个数组是否包含有相同的元素 ...
...
因为两个数组对象不能直接用 == 判断是否相等,所以需要别的方法实现。 1.使用toString()方法 或者 join("") 纯数字数组可以用,如果数组中包含字符串可能就会出现问题 (注意要加(),不然就是比较两个toString方法是否相等) 2. ...
最近碰到的一个面试题,不算高频,记录一下 判断两个对象是否相等,大致分为三步 首先判断两个比较对象是不是 Object 如果都是对象 再比较 对象的长度是否相等 如果两个对象的长度相等 再比较对象属性是否相等 ...