为什么在以下数组中
var mensajes = [('juan', 'pedro', 'hola como andas?'), ('jorge', 'matias', 'hola! todo bien?'), ('pedro', 'matias', 'buen dia matias!!')];
当我打印menajes时
["hola como andas?", "hola! todo bien?", "buen dia matias!!"]
不应该是一个只有1个值保存整个文本的数组吗?或者()实际上是在做什么,如何只存储()中的最后一个值?我不明白这一点。提前谢谢
答案 0 :(得分:3)
由于您在数组文字中使用了括号,因此JS解释器将包装的代码视为表达式,,
成为逗号运算符。逗号运算符从左到右计算它的操作数并返回最后一个操作数。这就是为什么括号中操作数的最后一个值被设置为数组值。
答案 1 :(得分:1)
()使数组只存储你想要存储的内容的最后一部分。
对于你的问题,没有。您的代码不是包含所有文本的1个数组。如果您希望它打印出所有文本,您必须删除阵列中的所有()。
像这样:var mensajes = ['juan', 'pedro', 'hola como andas?', 'jorge', 'matias', 'hola! todo bien?', 'pedro', 'matias', 'buen dia matias!!'];
如果您想要打印特定的数组而不是全部数组,可以将其更改为:
var mensajes = [['juan', 'pedro', 'hola como andas?'], ['jorge', 'matias', 'hola! todo bien?'], ['pedro', 'matias', 'buen dia matias!!']];
这将数组包含在数组中,因此如果你像console.log(mensajes [0])那样你可以打印一个完整的数组,这只会打印出[juan,pedro,hola coma andas]。在这种情况下,您无法使用console.log(mensajes)一次打印所有文本。
如果你想要这个,你首先要写数组名,然后用括号表示你想要的数组的索引值。
希望这有帮助!