Javascript concat和push函数所显示的意外行为
我在goolge控制台中测试代码,发现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索引的值时,它返回未定
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(),介意选择答案吗?:)也感谢你@Montagistpush
修改数组。我建议使用Mozilla的docsconcat()方法返回一个新数组…
push
修改数组。我建议使用Mozilla的docsconcat()方法返回一个新数组…
push
修改数组。我建议使用Mozilla的文档concat()方法返回一个新数组…
push
修改数组。我建议使用Mozilla的文档concat()方法返回一个新数组…