数组相似度问题

https://img.mukewang.com/5c36ff300001313c01610253.jpg

数组相似度问题,输入的数组 最相似 已知维度(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 最相似的项?

尚方宝剑之说
浏览 348回答 1
1回答

慕勒3428872

问题可以简化为求两个集合的交集的大小。相当于求两个数组的共同元素的个数。然后根据交集大小程度进行排序。。追加代码如下: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;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript