为什么在console.log之前执行array.sort?

时间:2018-01-27 11:21:17

标签: javascript arrays sorting

以下是一些示例代码:

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上运行此代码,它们都会产生相同的结果。

0 个答案:

没有答案