美文网首页前端开发那些事儿
前端模糊搜索实现与深拷贝cloneDeep

前端模糊搜索实现与深拷贝cloneDeep

作者: 飞鹰_007 | 来源:发表于2020-12-21 18:36 被阅读0次

对获取到的原始数组数据进行深拷贝,以免改变原始数组结构;通过输入值匹配数组对象值来重组匹配出来的数组。

1.安装lodash: npm install lodash --save

2.组件中使用:

import _ from 'lodash'

<input v-model="name"  @input="searchInfo" />

<ul>

    <li v-for="(item,index) in searchList"  :key="index">

        {{item.name}}

    </li>

</ul>

data() {

    return {

        name: '',

        dataList:[{name:'张三',sex:'男'},{name:'李四',sex:'男'}],

        searchList:[],

    }

},

searchInfo: _.debounce(function() {

        this.search();

 }, 200),

search(){

    if(this.name){

        let dataList = _.cloneDeep(this.dataList);

        let inputName = this.name.toLowerCase(); //转小写搜索更精确

        let newList = []; //  用于存放搜索出来数据的新数组

        dataList .filter(item => {

            if (item.name.toLowerCase().indexOf(inputName) !== -1) {

                newList.push(item);

             }

        }) 

        this.searchList = newList;

    }

}

相关文章

  • 前端模糊搜索实现与深拷贝cloneDeep

    对获取到的原始数组数据进行深拷贝,以免改变原始数组结构;通过输入值匹配数组对象值来重组匹配出来的数组。 1.安装l...

  • 对象的浅拷贝和深拷贝

    对象的深拷贝和浅拷贝 如何 实现一个深拷贝 递归拷贝1、外部库 lodash =>cloneDeep2、自实现

  • JS中实现深拷贝的几种方法(object,Array)

    4.通过第三方工具实现深拷贝 lodash.cloneDeep 数组深拷贝 1. concat(arr1, arr...

  • 深拷贝

    lodash深拷贝地址[https://lodash.com/docs#cloneDeep] 不完美的深拷贝 会忽...

  • 使用lodash.cloneDeep实现深拷贝

  • iOS基础知识点(网络摘抄)

    1.父类实现深拷贝时,子类如何实现深拷贝。父类没有实现深拷贝时,子类如何实现深拷贝? 深拷贝同浅拷贝的区别:...

  • 纯前端实现模糊搜索

    匆匆完成,待整理。。。 一、前置知识 模糊查询一般都是后台来做的,我们只需要调用接口,而且后台做这个是非常的方便,...

  • 受虐之路(2)

    1.深拷贝与浅拷贝深拷贝只针对复杂数据类型如何实现深拷贝?1)递归function deepClone(obj){...

  • 深拷贝、浅拷贝

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝...

  • 面试题整理

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝...

网友评论

    本文标题:前端模糊搜索实现与深拷贝cloneDeep

    本文链接:https://www.haomeiwen.com/subject/opcdnktx.html