Добавление элементов в массив из указанной позиции в typescript

#angular #typescript

#angular #typescript

Вопрос:

Я добавляю элементы в массив arr1 с помощью функции map. Есть ли какой-либо способ указать индекс начальной позиции в typescript

например, если я хочу добавить элементы из 3-й индексной позиции массива. первые два индекса должны содержать 0. как я могу это сделать?

 let years = [0,1,2,3,4];

data = {
      var1: 100000,
      arr2: years.map(_ => 1000)
    };
    
console.log(data.arr2);  

Я хочу добавить 0 из начала массива. Если я укажу позицию как 3, то первые 2 элемента должны быть равны нулю

Комментарии:

1. Вы знаете, что ваш фрагмент кода не работает? Я не понимаю, что вы хотите сделать.

2. @Florian Извините. Обновлено

Ответ №1:

Вы можете использовать array#map и для всех значений индекса, меньших, чем желаемый индекс, поместите 0, другие получают значение из вашего массива.

 let years = [0,1,2,3,4],
    index = 2,
    result = years.map((v,i) => i < index ? 0 : v);
console.log(result);  

Ответ №2:

Я не уверен, понял ли я, чего вы хотите :

 let years = [0,1,2,3,4];

data = {
      var1: 100000,
      arr2: modifyArray(3, 100000)
    };

console.log(data.arr2);

function modifyArray(position = 0, value) {
  const newArray = [];
  for (let i = 0; i < position - 1; i  ) {
    newArray.push(0);
  }
  return [...newArray, ...years.slice(0, position ), value, ...years.slice(position)];
}