3.9 KiB
3.9 KiB
id, title, challengeType, forumTopicId, localeTitle
id | title | challengeType | forumTopicId | localeTitle |
---|---|---|---|---|
587d78b2367417b2b2512b10 | Remove Items Using splice() | 1 | 301166 | Удаление элементов с помощью splice () |
Description
shift()
и pop()
, но что, если мы хотим удалить элемент из где-то посередине? Или удалить сразу несколько элементов? Ну, вот где splice()
приходит. splice()
позволяет нам сделать это: удалить любое количество последовательных элементов из любого места в массиве. splice()
может принимать до 3 параметров, но на данный момент мы сосредоточимся только на первом 2. Первые два параметра splice()
представляют собой целые числа, которые представляют индексы или позиции массива, который является splice()
призвал. И помните, массивы нуль-индексируются , поэтому, чтобы указать первый элемент массива, мы будем использовать 0
. Первый параметр splice()
представляет собой индекс в массиве, из которого начинается удаление элементов, а второй параметр указывает количество удаляемых элементов. Например: пусть array = ['today', 'was', 'not', 'so', 'great'];
array.splice (2, 2);
// удалить 2 элемента, начиная с 3-го элемента
// массив теперь равен ['today', 'was', 'great']
splice()
не только изменяет массив, на который он вызывается, но также возвращает новый массив, содержащий значение удаленных элементов: пусть array = ['I', 'am', 'feeling', 'really', 'happy'];
пусть newArray = array.splice (3, 2);
// newArray равно ['really', 'happy']
Instructions
sumOfTen
, которая принимает массив как аргумент и возвращает сумму элементов этого массива. Измените функцию, используя splice()
, чтобы она вернула значение 10
.
Tests
tests:
- text: <code>sumOfTen</code> should return 10
testString: assert.strictEqual(sumOfTen([2, 5, 1, 5, 2, 1]), 10);
- text: The <code>sumOfTen</code> function should utilize the <code>splice()</code> method
testString: assert.notStrictEqual(sumOfTen.toString().search(/\.splice\(/), -1);
Challenge Seed
function sumOfTen(arr) {
// change code below this line
// change code above this line
return arr.reduce((a, b) => a + b);
}
// do not change code below this line
console.log(sumOfTen([2, 5, 1, 5, 2, 1]));
Solution
function sumOfTen(arr) {
arr.splice(2,2);
return arr.reduce((a, b) => a + b);
}