當我在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