Files
freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice.russian.md

3.9 KiB
Raw Blame History

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);
}