纯前端实现模糊搜索

414 阅读1分钟

数据去重,也可以使用newset(array),这种是前期自己实现的方法,知道即可

/**

* 删除数组对象中重复的对象

* arr: 源数组   filterField: 需要删除的重复字段,注意是字符串类型

* 返回一个过滤好的,没有重复该字段filterField的数组

* */

const filterArrObj = (arr,filterField) =>{

let newArr = arr.reduce((pre,cur) => pre.some(item => item[filterField] == cur[filterField]) ?

    pre : [...pre,cur],[])

    return newArr

}

this.info=filterArrObj(res.data.data,'title')

    console.log(this.info)

    }).catch(err => {

    console.log('请求失败');
})

},

})

window.onload = function() {//获取样式

document.getElementById("txt").focus();

function $id(id) {

return document.getElementById(id);

}

this.text == '' ? document.getElementById("tableDivOne").style.display = "none" : document.getElementById(

"tableDivOne").style.display = "block";

}

计算属性实现模糊搜索

computed: {

searchResult() {

    if (this.text) {

        return this.info.filter(item =>item.title.toLowerCase().indexOf(this.text) > -1);

} else {

    return this.info;

}

}

},