-4
這是來自CodeWars的一個名爲「查找中間元素」的問題。我試着用下面的代碼解決它:爲什麼concat()/ slice(0)是必要的?
var gimme = function (a) {
return a.indexOf(a.sort(function(a, b) { return a - b })[1]);
};
但它不能工作,它需要添加concat()或slice(0)。正確答案是:
return a.indexOf(a.concat().sort(function(a, b) { return a - b })[1]);
但是我不知道爲什麼?請幫幫我。
也許你應該告訴我們原來的問題是什麼,而不僅僅是這是「在codewars」?不知道函數是如何調用的,用什麼參數,這是無法回答的。 – adeneo
'sort'修改原始數組。 'concat'和'slice'構成數組的一個副本。 –