【发布时间】:2014-03-24 16:54:14
【问题描述】:
我在 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”,然后,当我尝试获取 1 索引的值时,它返回 undefined!然后,当我们将"e" 和"f" 推送到同一个数组中时,这些字符串将替换连接字符串的索引。现在的问题是:
1) 为什么这些
concat和push函数会出现奇怪的行为?2) 这是否意味着
cancat功能失败?3) this
contact函数是否仅用于标称?
【问题讨论】:
-
.concat()不会改变原始文件。它创建了一个新数组。当您对本机方法有疑问时,请阅读文档。 MDN.concat() -
你想要 push(),而不是 concat()
-
介意选择答案吗? :)
-
也感谢你@Montagist
标签: javascript arrays push concat