TypeScript根据索引去除数组中元素(可一次根据多个索引去除多个元素)

最近在使用Angular框架做前端界面,需要根据索引去除数组中几个元素,此为背景:

示例如下:
使用arr.findIndex查找出元素在数组中得位置,保存在数组a_array中,
其a_array = 【1,5】;原始数组arr = 【1,2,3,4,5,6,7,8,9,10】;
如采用JS中得arr.splice(indexnumber,len)—indexnumber指索引,len是从索引开始删除得长度,如果输入arr.splice(1,1),预期得到得结果是【1,3,4,5,6,7,8,9,10】,但实际结果确是【2】;
因为采用得是Angular得前端框架,使用得不是JS,而是TS,遇到此问题如何解决呢?
采用如下方法解决:
arr=【1,2,3,4,5,6,7,8,9,10】;
a_array = 【1,5】;
value_array = 【2,6】;//删除索引对应得值
final =【】;//得到数组
for(let i = 0;i {
var toBeExist = value_array.indexOf(arr[i]);//不存在返回-1;
if(toBeExist === -1)
{
final.push(arr[i]);
}
}
得到final = 【1,3,4,5,7,8,9,10】;

总结:

  1. splice函数返回结果为索引对应得值,并非删除后得结果,splice函数会改变原始数组
  2. 如何解决一次循环,删除多个索引,对应数组多个项,indexOf,完美解决这个问题

你可能感兴趣的:(JS,TS)