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}