检查数组是否包含所选值,如果包含则将其删除

时间:2019-03-11 18:26:38

标签: angular typescript

我正在处理一个涉及复选框功能的函数,我希望它检查选定的值是否已在数组中,如果是,请将其删除。有人“取消选中”复选框时就是这种情况。

public class Testing {
    static void p(int i) {
        System.out.println("hello" + i);
        i++;
        p(i);
    }
    public static void main(String[] args) {
        p(1);
    }
}

我希望在checkedCodes: any = []; searchResultsCheckBox = (e) => { var row = e.target.parentNode.parentNode; var charge = row.getElementsByClassName('chargeList')[0] as HTMLElement; var description = row.getElementsByClassName('descriptionList')[0] as HTMLElement; this.selectedCode = charge.innerText + " (" + description.innerText + ")"; if (this.checkedCodes.includes(this.selectedCode)){ // What should I put here? } else { this.checkedCodes.push(this.selectedCode); } } 语句中进行检查,以查看if是否已经在数组selectedCode中,如果是,则将其删除。任何建议都会有帮助

1 个答案:

答案 0 :(得分:0)

您想知道如何从数组中删除项目吗?使用array.splice()

文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

输入要开始删除的索引,然后输入要删除的项目数。

var arr = ['one', 'two', 'three', 'four', 'five'];
console.log(arr);

var pos = arr.indexOf('three');
arr.splice(pos, 1);
console.log(arr);

编辑

为了清楚起见,这是修改代码的方法

if (this.checkedCodes.includes(this.selectedCode)){
  var pos = this.checkedCodes.indexOf(this.selectedCode)
  this.checkCodes.splice(pos, 1);
}