为了账号安全,请及时绑定邮箱和手机立即绑定

JS查询一组10位数字的前8位或者前6位是否匹配

JS查询一组10位数字的前8位或者前6位是否匹配

尚方宝剑之说 2018-11-23 16:11:58
想实现一个功能,就是当用户在input输入10位数字后点击查询按钮后,去匹配json数据中的预输入值,并根据不同的信息反馈不同的查询结果。然而json的预输入值只有8位或者6位(相对应10位数字的前8位或者前6位,匹配优先级是先8位后6位)。请教这个查询判断应该如何去做?谢谢!json格式:{"id":"123456","info":"这是普通用户"}, {"id":"87654321","info":"这是高级用户"} {"id":"876543","info":"这是尊享用户"}例如用户输入的是1234567890,json数据中的预输入值有123456,则匹配这个预输入值的信息,如果用户输入的是0987654321,json数据中的预输入值有098765和09876543两个时,则匹配09876543的预输入值的信息。PS:自己钻进了模糊查询的死胡同,有点绕不出来。。。
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

var jsons = [

            {"id":"123456","info":"这是普通用户"},

            {"id":"876543","info":"这是尊享用户"},

            {"id":"87654321","info":"这是高级用户"},

            {"id":"87654311","info":"这是尊享用户"},

         ]    

    function f(jsons,num) {

        var num8 = num.substr(0,8);

        var num6 = num.substr(0,6);

        var result6 = '';

        var result8 = '';

    

          for(var i = 0,len = jsons.length; i < len;i++) {

              var id = jsons[i].id;

              if(id == num8) {

                  result8 = jsons[i];

                  break;

              }

    

              if(id == num6) {

                  result6 = jsons[i];

              }

           }

    

          return result8 ? result8 : result6; 

    }


查看完整回答
反对 回复 2018-12-06
  • 1 回答
  • 0 关注
  • 995 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信