从打字稿中指定位置的数组中添加元素

时间:2019-03-08 09:34:46

标签: angular typescript

我正在使用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个元素应为零

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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)];
}