您的位置:首页 > Web前端 > JavaScript

js 去掉重复数组

2017-12-29 17:48 197 查看
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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: