为什么在 javascript 中反向数组等于常规数组?
Why does a reversed array equal a regular array in javascript?
IE 为什么代码会像
var strArr = ["a", "b"];
console.log(strArr.reverse() === strArr ? true : false);
如果颠倒的数组顺序不同则打印真?
因为reverse
反转了数组IN PLACE,所以你是在比较数组本身。
实际上 Array.prototype.reverse()
方法将原始数组变形为它的反向数组,然后除此之外 returns 一个 "reference" 到这个变形数组。因此结果和变形后的原始数组变得相同。
如果有人在开发这个方法之前问过我,我会要求保持原样,return 一个反向数组;唉,显然这不是我的决定。
IE 为什么代码会像
var strArr = ["a", "b"];
console.log(strArr.reverse() === strArr ? true : false);
如果颠倒的数组顺序不同则打印真?
因为reverse
反转了数组IN PLACE,所以你是在比较数组本身。
实际上 Array.prototype.reverse()
方法将原始数组变形为它的反向数组,然后除此之外 returns 一个 "reference" 到这个变形数组。因此结果和变形后的原始数组变得相同。
如果有人在开发这个方法之前问过我,我会要求保持原样,return 一个反向数组;唉,显然这不是我的决定。