当我在javascript中创建两个数组并尝试使用'concat'关键字连接它们时,结果数组始终是空的(以及应插入的数组中的内容未被插入)。我无法想象这实际上是如何js应该工作,因为那么...如果concat关键字什么都不做,concat关键字的重点是什么。哈哈。为什么数组串联不能在Javascript中工作?
那么我必须做错了什么,但我完全按照文档。
以下是一个演示我的问题一个小提琴:https://jsfiddle.net/webwhizjim/7z4v33of/
// Example with objects- doesn't work...
var greetings = [{"affirmative":"yeah"}];
var exclamations = [{"omg":"Oh my golly-gee-wilickers!"},{"wowz":"wowzers!"}];
var obArray = [];
obArray.concat(greetings);
console.log("The jumble array is: " + obArray);
// Example with strings- still doesn't work...
var greetings2 = ["affirmative","yeah"];
var exclamations2 = ["omg"];
var obArray2 = ["huh?"];
[].concat.call(obArray2, greetings2);
console.log("The jumble array is: " + obArray2);
只是要通过“它不工作”我的意思是控制台输出是这样明确的:
PS 。在我真正的项目中,我使用的是角1.4,所以如果有一种方法可以将数组连接起来,我可以使用它。
'concat'返回一个新的数组,它不会变异。 – elclanrs
^'obArray2 = obArray2.concat(greetings2)' – adeneo
另外,Function.prototype.call的第一个参数定义了调用的上下文(this的值),而不是第一个要连接的数组 – Sebas