Подтвердить что ты не робот

Как удалить элементы массива?

Можно ли удалить содержимое массива на основе индекса? Если у меня есть 2 массива, подобные этим:

Array1, который содержит 15 значений, и я хочу получить последние 10 значений.

Перед удалением элементов:

array1 == [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]

После удаления элементов:

array1 == [5,6,7,8,9,10,11,12,13,14]

Array2, который содержит 15 значений, а затем я хочу получить только первые 10 значений.

Перед удалением элементов:

array2 == [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]

После удаления элементов:

array2 == [0,1,2,3,4,5,6,7,8,9]

Но есть условия, которые должны выполняться:

Если массив содержит только 3 элемента, нет необходимости отбрасывать элементы в массиве, а также если массив содержит только 10 элементов. но если массив содержит более 10 элементов, избыток отбрасывается.

4b9b3361

Ответ 1

Чтобы сохранить первые десять элементов:

if (theArray.length > 10) theArray = theArray.slice(0, 10);

или, возможно, менее интуитивно понятным:

if (theArray.length > 10) theArray.length = 10;

Чтобы сохранить последние десять элементов:

if (theArray.length > 10) theArray = theArray.slice(theArray.length - 10, 10);

Вы можете использовать отрицательное значение для первого параметра, чтобы указать length - n, и опускание второго параметра получает все элементы до конца, поэтому то же самое можно также записать как:

if (theArray.length > 10) theArray = theArray.slice(-10);

Метод splice используется для удаления элементов и замены другими элементами, но если вы не укажете новые элементы, его можно использовать только для удаления элементов. Чтобы сохранить первые десять элементов:

if (theArray.length > 10) theArray.splice(10, theArray.length - 10);

Чтобы сохранить последние десять элементов:

if (theArray.length > 10) theArray.splice(0, theArray.length - 10);

Ответ 2

Используйте функцию array.splice(index, count) для удаления элементов count в index. Чтобы удалить элементы из конца, используйте array1.splice(array1.length - 10, 1);

Ответ 3

См. splice()

Метод splice() изменяет содержимое массива, удаляя существующие элементы и/или добавляя новые элементы.

Он не будет создавать новый массив, если вы хотите создать новый массив, используйте slice.

Ответ 4

Как трудно следовать вашему вопросу, но попробуйте следующее:

array = array.slice(-10);

// or

last10 = array.splice(-10);
// array has first array.length-10 elements