Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript concat和push函数所显示的意外行为_Javascript_Arrays_Push_Concat - Fatal编程技术网

Javascript concat和push函数所显示的意外行为

Javascript concat和push函数所显示的意外行为,javascript,arrays,push,concat,Javascript,Arrays,Push,Concat,我在goolge控制台中测试代码,发现concat()无法正常工作,如下所示: var a = ["a"]; //undefined a.concat("b","c"); // ["a","b","c"] 现在,当我推其他字符串时,该字符串将替换“b”和“c”的索引 即[续] a.push("e","f"); // 3 a // ["a", "e","f"] 你注意到绳子被推的那一行有3个吗。我感兴趣的是,首先我们联系“b”和“c”,然后,当我尝试获取say 1索引的值时,它返回未定

我在goolge控制台中测试代码,发现
concat()
无法正常工作,如下所示:

var a = ["a"]; //undefined
a.concat("b","c"); // ["a","b","c"] 
现在,当我推其他字符串时,该字符串将替换“b”和“c”的索引

即[续]

 a.push("e","f"); // 3 
 a // ["a", "e","f"]
你注意到绳子被推的那一行有3个吗。我感兴趣的是,首先我们联系“b”和“c”,然后,当我尝试获取say 1索引的值时,它返回未定义的
!然后,当我们将
“e”
“f”
推到同一个数组中时,这些字符串将替换特定字符串的索引。现在的问题是:

1) 为什么这些
concat
push
功能显示出奇怪的行为

2) 这是否意味着
cancat
功能失败

3) 此
触点
功能是否仅用于标称


这是正确的。Concat没有像您预期的那样修改数组

当您:

a.concat("b","c");
它返回一个数组[“a”、“b”、“c”],但您没有保存引用(您希望这样做)

一些信息:

concat不会更改此数组或作为参数提供的任何数组,而是返回一个浅层副本,其中包含从原始数组组合而来的相同元素的副本


这是正确的。Concat没有像您预期的那样修改数组

当您:

a.concat("b","c");
它返回一个数组[“a”、“b”、“c”],但您没有保存引用(您希望这样做)

一些信息:

concat不会更改此数组或作为参数提供的任何数组,而是返回一个浅层副本,其中包含从原始数组组合而来的相同元素的副本


这是正确的。Concat没有像您预期的那样修改数组

当您:

a.concat("b","c");
它返回一个数组[“a”、“b”、“c”],但您没有保存引用(您希望这样做)

一些信息:

concat不会更改此数组或作为参数提供的任何数组,而是返回一个浅层副本,其中包含从原始数组组合而来的相同元素的副本


这是正确的。Concat没有像您预期的那样修改数组

当您:

a.concat("b","c");
它返回一个数组[“a”、“b”、“c”],但您没有保存引用(您希望这样做)

一些信息:

concat不会更改此数组或作为参数提供的任何数组,而是返回一个浅层副本,其中包含从原始数组组合而来的相同元素的副本


.concat()
不会改变原始版本。它生成一个新数组。当您对本机方法有疑问时,请阅读文档。你想要的是push(),不是concat(),介意选择答案吗?:)也要感谢你@Montagist
。concat()
不会改变原始版本。它生成一个新数组。当您对本机方法有疑问时,请阅读文档。你想要的是push(),不是concat(),介意选择答案吗?:)也要感谢你@Montagist
。concat()
不会改变原始版本。它生成一个新数组。当您对本机方法有疑问时,请阅读文档。你想要的是push(),不是concat(),介意选择答案吗?:)也要感谢你@Montagist
。concat()
不会改变原始版本。它生成一个新数组。当您对本机方法有疑问时,请阅读文档。你想要的是push(),不是concat(),介意选择答案吗?:)也感谢你@Montagist
push
修改数组。我建议使用Mozilla的docs
concat()方法返回一个新数组…
push
修改数组。我建议使用Mozilla的docs
concat()方法返回一个新数组…
push
修改数组。我建议使用Mozilla的文档
concat()方法返回一个新数组…
push
修改数组。我建议使用Mozilla的文档
concat()方法返回一个新数组…