vue中过滤器比较两个数组取相同值

在vue中需要比较两个数组取相同值

一个大数组一个 小数组,小数组是大数组的一部分取相同ID的不同name值

有两种写法,两个for循环和map写法

const toName = (ids, arr) => {
  let a = [];
  ids = String(ids) && String(ids).split(',') || [];
  for (let i = 0, length = arr.length; i < length; i++) {
    for (let j = 0, l = ids.length; j < l; j++) {
      if (ids[j] == arr[i].id) {
        a.push(arr[i].name)
      }
    }
  }
  return a.join();
}
const toName = (ids, arr) => {
                let list = []
                ids = String(ids) && String(ids).split(',') || [];
                ids.map((x) => {
                    this.arr.map((k) => {
                        if (k.id == x) {
                            return list.push(k.name)
                        }
                    })
                })
                ids = list.join("、")
}

在vue中就可以使用了

{{78 | toName(“78,456,78”)}}//数字可以转字符串
{{“78”| toName(“78,456,78”)}}//直接使用
{{“87,78,80”| toName(“78,456,78”)}}//直接使用
 
原文地址:https://www.cnblogs.com/xkloveme/p/7524691.html