我一直在codewars上進行練習,但是我的代碼通過了測試,但是它給出了一個typeError。無法弄清楚爲什麼。如果我能得到一些幫助,那會很棒......謝謝!類型錯誤:對象沒有拆分方法
該任務是創建一個函數,可以採取任何字符串,並隨機混雜每個單詞中的字母,同時留下單詞的第一個和最後一個字母。
這裏是我的代碼:
function shuffle(a) {
var j, x, i;
for (i = a.length; i; i--) {
j = Math.floor(Math.random() * i);
x = a[i - 1];
a[i - 1] = a[j];
a[j] = x;
}
};
mixwords = function(string){
var array = string.split(" ");
for (var i = 0; i < array.length; i++) {
var itemArray = array[i].split("");
if (itemArray.length > 2) {
var first = itemArray.shift();
var last = itemArray.pop();
shuffle(itemArray);
itemArray.unshift(first);
itemArray.push(last);
var newItem = itemArray.join("");
array[i] = newItem;
}
};
console.log(array.join(" "));
return array.join(" ");
};
錯誤信息是這樣的:
TypeError: Object 23 has no method 'split' at mixwords
/runner/frameworks/javascript/cw-2.js:273
throw ex; ^
我們怎麼知道?我甚至沒有看到你打電話什麼。 – PHPglue
你假設某些類型爲'String',它具有'.split'方法,但是某些類型是'Number'。哪一條是23號線? –
PHPglue,對不起,我最後沒有調用函數的原因是因爲代碼應該通過一些測試。只爲你:mixwords(「冬天即將來臨」); – yangmei