vue数组对象模糊搜索

文章描述:

Vue数组对象根据指定字段进行模糊搜索并返回结果

 

/** 参数:
list 原数组
keyWord 查询的关键词
attribute 数组需要检索属性 **/

export const fuzzyQuery = (list, keyWord, attribute = 'name') => {
  const reg = new RegExp(keyWord)
  const arr = []
  for (let i = 0; i < list.length; i++) {
    if (reg.test(list[i][attribute])) {
      arr.push(list[i])
    }
  }
  return arr
}
export default {

  data(){
    return {

    }
  },
  created() {
    const list = [
      { id: 1, name: '红烧牛肉面' },
      { id: 2, name: '肥肠米粉' },
      { id: 3, name: '酱肉包' },
      { id: 4, name: '小笼包' },
      { id: 5, name: '豆浆' },
      { id: 6, name: '油条' },
      { id: 7, name: '鸡蛋' }
    ]
    let result = fuzzyQuery(list, '粉', 'name') // [{id: 1, name: '肥肠米粉'}]
    console.log(result)

  },
  methods:{

  }
}

 

发布时间:2023/11/03

发表评论