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

1 篇文章 0 订阅

最近在使用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<arr.length;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,完美解决这个问题
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值