码迷,mamicode.com
首页 > 其他好文 > 详细

实用的开发技巧总结

时间:2015-08-18 22:37:42      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

最近写业务代码的时候遇到个问题:如何进行两组数据的匹配?首先想到的就是嵌套双重循环(我这里是两组数组),但是双重循环性能是很低的。这里我尝试两种方法做个数组去重处理。

var oldArr = [{
id: 1,
name: ‘value1‘
},
{
id: 2,
name: ‘value2‘
},
{
id: 3,
name: ‘value3‘
},
{
id: 4,
name: ‘value3‘
},
{
id: 5,
name: ‘value5‘
}
],
newArr = [],
map = {}
// 方法一
for(var i = 0;i < oldArr.length;i ++){
var el = oldArr[i],isRepeat = false
if(!newArr.length){
newArr.push(el)
continue
}
for (var j = 0; j < newArr.length; j++) {
var innerEl = newArr[j]

if(el.name == innerEl.name){
isRepeat = true
break
}
}
if(!isRepeat){
newArr.push(el)
}

}
console.log(newArr)


// 方法二
for(var i = 0;i < oldArr.length;i ++){
var el = oldArr[i].name
if(!map[el]){
newArr2.push(oldArr[i])
map[el] = true
}else{
alert(‘有重复!‘)
}

}
console.log(newArr2)

 

 

写得不是很好,只是自己把思路理了一下。。。。。。

实用的开发技巧总结

标签:

原文地址:http://www.cnblogs.com/jlchen/p/4740819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!