я имею
var arr1 = ['a', 'b', 'c', 'd', 'e'];
Я хочу создать новый массив arr2, состоящий из элементов из индексов 1 и 4 из arr1. Я посмотрел на slice(), но он работает только последовательно. Есть ли существующий метод, который у меня отсутствует, или я должен его создать? Благодарю.
Вы можете взять нужные индексы в виде массива и отобразить значения.
var array = ['a', 'b', 'c', 'd', 'e'],
indices = [1, 4],
result = indices.map(i => array[i]);
console.log(result);
Я хочу создать новый массив arr2, состоящий из элементов из индексов 1 и 5 из arr1
Это просто, нет необходимости в методе, просто буквальная нотация:
var arr2 = [arr1[1], arr1[5]];
(Я должен отметить, что у вас нет "индекса 5" в вашем массиве. Вы имели в виду индексы 0 и 4?)
Живой пример (с использованием 1 и 5):
var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = [arr1[1], arr1[5]];
console.log(arr2);
Живой пример (с использованием 0 и 4):
var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = [arr1[0], arr1[4]];
console.log(arr2);
5
. Не 4
Просто назначьте их?
var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = [arr1[0],arr1[4]];
console.log(arr1)
console.log(arr2)
Другой способ добиться этого:
var arr1 = ['a', 'b', 'c', 'd', 'e'];
var arr2 = arr1.filter((it, index) => index === 0 || index === 4);
console.log(arr2);