0

私はjsに不慣れで、この問題を解決できません。

test("splice", function() {
    var daysOfWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
    var workingWeek = daysOfWeek.splice(__);
    ok(workingWeek.equalTo([__]), 'what is the value of workingWeek?');
    ok(daysOfWeek.equalTo([__]), 'what is the value of daysOfWeek?');
});

私の試みは以下でしたが、うまくいきません。

test("splice", function() {
    var daysOfWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
    var workingWeek = daysOfWeek.splice(5,6);
    ok(workingWeek.equalTo([5]), 'what is the value of workingWeek?');
    ok(daysOfWeek.equalTo([2]), 'what is the value of daysOfWeek?');
});

誰かが私にこれの手がかりを提供できますか?

4

1 に答える 1

0

ドキュメントから:

[]Array spliceメソッド

array.splice(index, howMany, […])

配列の内容を変更し、古い要素を削除しながら新しい要素を追加します

削除された要素を含む配列を返します[…]。

5したがって、現在のコードでは、6番目(インデックス上)から始まる6つの要素が削除されます'Saturday'。これは少し多すぎます。ここでは違いはありませんが、2つだけ削除するだけで十分です。これらは配列の最後にあります。

あなたがおそらく達成したいのはそれです

ok(workingWeek.equalTo(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']), 'what is the value of workingWeek?');
// though it makes no practical sense, you are using splice():
ok(daysOfWeek.equalTo(['Saturday', 'Sunday']), 'what is the value of daysOfWeek?');

私はあなたのsplice(…)呼び出しへの引数を変更するタスクをあなたに任せます:-)

于 2013-03-21T18:16:28.583 に答える