Javascript 如何从数组中删除多个选定行

Javascript 如何从数组中删除多个选定行,javascript,angular,angular8,Javascript,Angular,Angular8,我有表格,我想在点击按钮时删除多个选中的行。点击按钮时我会在数组下面。PFA for array..您的循环应基于Id,并在其循环中查找索引,然后拼接数组元素 应该是下面的样子 deleteAllRows() { this.staticValuemodel.rowsSelected.forEach(key => { this.StaticData.records.splice(key, 1); }); this.popu

我有表格,我想在点击按钮时删除多个选中的行。点击按钮时我会在数组下面。PFA for array..

您的循环应基于Id,并在其循环中查找索引,然后拼接数组元素

应该是下面的样子

deleteAllRows() {         
    this.staticValuemodel.rowsSelected.forEach(key => {
      this.StaticData.records.splice(key, 1);      
    });  
    this.populateStaticTable(this.StaticData.records);  

  }
当您的
this.staticValuemodel.rowsSelected
输出图片的对象或数组不清晰时(最好使用google chrome控制台发送屏幕截图)

类似:

//get an array with the index of elements selected, e.g. [0,3]
const rowsSelects=Object.keys(this.staticValuemodel.rowsSelected); 

//filter the data
this.StaticData.records=this.StaticData.records
   .filter((x,index)=>rowSelects.indexOf(index)<0)
//获取包含所选元素索引的数组,例如[0,3]
const rowsSelects=Object.keys(this.staticValuemodel.rowsSelected);
//过滤数据
this.StaticData.records=this.StaticData.records

.filter((x,index)=>rowSelects.indexOf(index)您是否在html中使用ngFor来显示数组请添加此组件的代码以了解您已经完成的操作?不,我在html中没有任何循环,我只粘贴了html中的按钮。我正在从tableModel中获取所选行值,如下代码const selectedValueIndex=Object.keys(this.staticValuemodel.rowselected);我正在粘贴this.staticValuemodel.rowselected的输出我已编辑了我的问题并再次粘贴了所有代码..请再次查看..是的,您是对的,它的删除错误键它是一个具有多个对象的数组共享它包含的属性