如何为以下代码打印“d”[“a”,“b”,“c”,“d”] [1,2,3]

时间:2017-02-09 05:31:59

标签: javascript

我正在经历一个面试过程,这是一个问题加速

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

当我console.log时,它正在打印"d",我尝试了

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

即使它正在打印"d"

如果可以,请解释一些文件吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

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