JS模糊查询——indexof 方法

把adduser这样的数据类型(集合),需要先转成adduser2这样的(数组)。

    data: {
        adduser: [{ 'name': '1' }, { 'name': '2' }, { 'name': '3' }],
        adduser2:[123,456,789,444,544],
        adduser3:[]
    },

    adduser: function name(params) {
        // console.log("123");
        var adduser2 = this.data.adduser2;
        var adduser = this.data.adduser;
        var adduser3 = this.data.adduser3;

        fuzzyQuery(adduser2,456);
        console.log("11111111111",fuzzyQuery(adduser2,5));
        // console.log("222222222222",fuzzyQuery(adduser[name],1));

        // console.log(adduser[0].name);

        for (var index = 0; index < adduser.length; index++) {
            // const element = array[index];
            // console.log(adduser[index].name);
            adduser3.push(adduser[index].name)       
        }
        console.log("333333333",adduser3);
    }
})


/**
 * 使用test方法实现模糊查询
 * @param  {Array}  list     原数组
 * @param  {String} keyWord  查询的关键词
 * @return {Array}           查询的结果
 */
function fuzzyQuery(list, keyWord) {
    var reg = new RegExp(keyWord);
    var arr = [];
    for (var i = 0; i < list.length; i++) {
        if (reg.test(list[i])) {
            arr.push(list[i]);
        }
    }
    return arr;
}

前端代码:这是集合遍历出来

<view style="width: 400rpx;height: 400rpx;background-color: antiquewhite;" bindtap ="adduser">
    <view wx:for="{{adduser}}" wx:key="key"  data-name="{{item}}">{{item.name}}</view>
</view>

数组遍历这样:

<view wx:for="{{adduser2}}" wx:key="key"  data-name="{{item}}">{{item}}</view>
posted @ 2022-04-11 16:14  ICE-CREAMMM  阅读(206)  评论(0编辑  收藏  举报