私はコードワークで演習を行っていますが、コードはテストに合格しますが、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