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

数组相似度问题

数组相似度问题

尚方宝剑之说 2019-01-05 23:18:28
数组相似度问题,输入的数组 最相似 已知维度(n)数组的哪一项?    var skuArr = [['2','套餐一','红','型号1'],['2','套餐一','红','型号2'],['2','套餐一','黄','型号1']];    var typeArr = Array.protoype.slice.apply(document.querySelectorAll("input:checked")),        selected = {};             for(var key in skuArr){         if(JSON.parse(typeArr) == JSON.parse(skuArr[key])){            selected = skuArr[key]         }     }          if(JSON.parse(selected) == "{}"){         selected = skuArr[0]     }当相似度不完全相等时,求skuArr 最相似的项?
查看完整描述

1 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

问题可以简化为求两个集合的交集的大小。相当于求两个数组的共同元素的个数。
然后根据交集大小程度进行排序。。

追加代码如下:

var arr =[1,2,'a','c',3,4,5];

var brr =['c','3','d',2,1,5,'f'];


// arr 和brr 有相同元素的个数

function compare(arr,brr){

   var mount =0;

   arr.forEach(function(item){

      if(brr.some(function(value){

         return item==value;

      })){

         mount++;

      }

   })

   return mount;

}


查看完整回答
反对 回复 2019-01-10
  • 1 回答
  • 0 关注
  • 347 浏览
慕课专栏
更多

添加回答

举报

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