以下代码中如何打印出 "d":["a", "b", "c", "d"][1, 2, 3]

3

我正在进行面试过程中,遇到了这个问题:

var arr = ["a", "b", "c", "d"][1, 2, 3]

当我使用console.log时,它会打印"d",我尝试了...
var arr = ["a", "b", "c", "d", "e"][1, 2, 3] 

即使它打印的是"d"
如果可以,请提供一些相关文档来解释。

如果你得到了解决方案,请告诉我。 - Saurabh Agrawal
3
逗号操作符再次出现。 - Gerrit0
我通过搜索 [javascript] array multiple index comma 找到了这个重复问题,从而发现了 https://dev59.com/ionca4cB1Zd3GeqP5g6c#29249412,它也被标记为一个重复问题。 - Felix Kling
2个回答

4

第一组被解释为数组,第二组作为第一组的索引器进行评估。

["a", "b", "c", "d"][1, 2, 3] => "d"
["a", "b", "c", "d"][1, 2] => "c"
["a", "b", "c", "d"][1] => "b"
["a", "b", "c", "d"][0] => "a"
["a", "b", "c", "d", "e"][3] => "d"
(1, 2, 3) => 3

因此:
["a", "b", "c", "d"][1, 2, 3] =>
["a", "b", "c", "d"][(1, 2, 3)] =>
["a", "b", "c", "d"][3] =>
"d"

1
在方括号表示法中使用逗号运算符允许引用数组的最后一个元素的结果。例如,var arr = ["a", "b", "c", "d", "e"][1, 2]; arr // c

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