从typescript中的指定位置向数组添加元素

问题描述 投票:0回答:2

我正在使用map函数向数组arr1添加元素。有没有办法在typescript中指定起始位置的索引

例如,如果我想从数组的第3个索引位置添加元素。前两个索引应该保持0.我该怎么做?

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

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

我想从数组的开头添加0。如果我将位置指定为3,则前2个元素应为零

angular typescript
2个回答
0
投票

您可以使用array#map,并且对于低于所需索引位置的所有索引值,其他0从您的数组中获取值。

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

0
投票

我不确定我是否理解你想要的东西:

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)];
}
    
© www.soinside.com 2019 - 2024. All rights reserved.