2013-03-21 2 views
0

Im new to js, ​​и я не могу решить эту проблему.Пытается решить js koan/about_array.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?'); 
}); 

Может ли кто-нибудь предоставить мне какие-либо подсказки?

+0

Вы знаете, что [ 'splice' метод] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/splice) делает? И вы знаете, что '[5]' является литералом массива, в котором нет ничего, кроме числа? – Bergi

+0

Что вы пытаетесь сделать? – ckersch

+0

Вероятный источник: https://github.com/liammclennan/JavaScript-Koans/blob/master/topics/about_arrays.js –

ответ

0

От the docs:

[] Arraysplice метод

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

Изменяет содержимое массива, добавляя новые элементы, удаляя старые элементы

Возвращает [...] массив, содержащий удаленные элементы.

Так что ваш текущий код удалит 6 элементов, начиная с 6-го (по индексу 5, т.е. 'Saturday'). Это слишком много, удаление только 2 должно быть достаточно, хотя здесь это не будет иметь никакого значения - они находятся в конце массива.

Что вы proably хотите достичь, что

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(…) вызова до вас :-)

Смежные вопросы