以下是一些示例代码:
var queryArr = [{ns: 42, pageid: 12, lang: "en", index: 3}, {ns: 12, pageid: 36, lang: "en", index: 4}, {ns: 2, pageid: 19, lang: "en", index: 9}];
console.log(queryArr);
queryArr.sort(function(i,j){
return j.index - i.index;
});
console.log(queryArr);
当我在浏览器控制台上运行时,我有两个控制台输出,但两者都从高到低排序。我期待的是第一个显示数组的输出与我输入的完全相同,第二个是在sort函数显示后按照我想要的方式排序。
在console.log之前执行sort函数吗?如果是这样,怎么样和为什么?
我读过这些关于吊装的文章,因为我认为这是关于(但我可能错了):
但他们都谈论的主要是变量提升和函数声明。
我希望这不是一些与浏览器相关的问题 - 我在Chrome和Firefox上运行此代码,它们都会产生相同的结果。