数组操作

46 阅读1分钟

需求:数组A中的项若在数组B 中出现,那么数组B对应项的disabled值为true,其他项为false

    let arrA=['10020001','10020002']
    let arrB = [
      {
        children: [],
        expanded: false,
        isLeaf: true,
        key: '10020001',
        searched: null,
        title: '部门领导',
        disabled: false,
      },
      {
        children: [],
        expanded: false,
        isLeaf: true,
        key: '10020002',
        searched: null,
        title: '行政管理',
        disabled: false,
      },
      {
        children: [],
        expanded: false,
        isLeaf: true,
        key: '10020003',
        searched: null,
        title: '文秘',
        disabled: false,
      },
      {
        children: [],
        expanded: false,
        isLeaf: true,
        key: '10020004',
        searched: null,
        title: '公共关系及外事',
        disabled: false,
      },
      {
        children: [],
        expanded: false,
        isLeaf: true,
        key: '10020005',
        searched: null,
        title: '知识管理',
        disabled: false,
      },
      {
        children: [],
        expanded: false,
        isLeaf: true,
        key: '10020006',
        searched: null,
        title: '督办管理',
        disabled: false,
      },
    ];

实现如下:

    this.arrB.forEach(item => {
        if (this.arrA.includes(item.key)) {
          item.disabled = true;
        } else {
          item.disabled = false;
        }
    });

一开始一直没想到,所以决定记录下来。