6.获取多个数组的公共值

使用场景,订单列表list 数组中,订单状态item.status 为2 或者3, 且订单类型 type 为 1的所有订单,拥有某个特定操作。

此时,可使用方法:

/**

 * 获取多个数组的公共值

 */

export function getValueByArrays(...list: string[][]): string[] {

  const set: Set < string > = new Set()

  list.forEach((listItem: string[]) => {

    listItem.forEach(item => set.add(item))

  })

  const array: string[] = []

  const arr: string[] = Array.from(set)

  arr.forEach(item => {

    if (list.every(listItem => listItem.includes(item))) {

      array.push(item)

    }

  })

  return array

}

具体使用方式,如下:

const ctrlArray1 = getArrayBySelectedList(list, 'status', [2,3], 'id')   

const ctrlArray2 = getArrayBySelectedList(list, 'type', [1], 'id')

const array = getValueByArrays(ctrlArray1, ctrlArray2)

其中,getArrayBySelectedList 方法,详见 5.获取数组中指定字段值的数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容