为什么 JavaScript 数组操作 [1,2,3,4][1,2] 返回 3?

3

我不明白为什么这个 JavaScript 数组会返回 3。返回 3 的逻辑是什么?

我在开发者工具中执行了以下代码:

[1,2,3,4][1,2]

4
[1,2,3,4] 是一个数组。在 [1,2] 中,逗号操作符使结果为 2。而 arr[2] 返回第二个索引处的元素 - 3 - Tushar
你期望它是什么,为什么? - Pointy
什么是返回3的行?它在哪里? - Ori Refael
@PreferenceBean,你是通过哪个关键词搜索到的?我搜索了很多次,但没有找到答案。 - brk
@user2181397:我记得这个答案,所以只需要进入我的个人资料,答案部分,按投票排序,然后复制/粘贴顶部的URL。 - Lightness Races in Orbit
1个回答

4

[1,2,3,4][1,2]的拆分如下:

  1. [1,2,3,4]:一个有四个元素的普通数组
  2. 1,2逗号操作符返回最后一个操作数。因此,结果为2
  3. arr[2]:使用括号表示法/属性访问器从数组中访问元素。

因此,等效语句的结果将是[1, 2, 3, 4][2]


这相当于

var index = 1, 2; // Note the comma operator. This is same as `var index = 2;`
var arr = [1, 2, 3, 4];

arr[index]; // arr[2] = 3

太奇怪了。我从来不知道逗号操作符可以这样用。谢谢! - sg.cc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接