js 去掉重复数组

js去掉重复数组

重点一:字符串转数组  strArr.join(',')

重点二:做循环数组删除的时候,每次循环就把color[i] 去对比i之前所有数组color组合起来的字符串

比如 :

i=1,就是 黄色 比"红色,黄色"    出现次数1,保留

i=2,就是 黄色 比"红色,黄色,黄色"  出现次数 2,删除当前i

i=3,就是 蓝色 比"红色,黄色,黄色,蓝色"   出现次数 1 保留当前

i=4,就是 黄色 比"红色,黄色,黄色,蓝色,黄色"  出现次数3 ,删除当前 i

重点三:删除当前数组 arr.splice(i,1)

代码如下:

var optColor=[
      { optid: '1', color: '红色', select: 1 },
      { optid: '2', color: '黄色', select: 0 },
      { optid: '3', color: '黄色', select: 0 },
      { optid: '4', color: '蓝色', select: 0 },
      { optid: '5', color: '黄色', select: 0 }
    ]

function test(optColor){
    var that = thisvar strArr = []
    var str
    var i
    for (i=0; i < optColor.length;i++){
      strArr[i] = optColor[i]['color'] 
      str = strArr.join(',')  // 数组转 如:红色,黄色,黄色,蓝色,

      // 计算数组出现在字符串的次数
      var n = (str.split(optColor[i]['color'])).length - 1;
      if(n>1){
        optColor.splice(i,1)
      }
    }
    console.log(optColor);

 输出结果:

0
:
{optid: "1", color: "红色", select: 1}
1
:
{optid: "2", color: "黄色", select: 0}
2
:
{optid: "4", color: "蓝色", select: 0}
原文地址:https://www.cnblogs.com/wesky/p/8145682.html