js 数组去重(单元素和对象数组)
源码
Array.prototype.unique = function(key) {
var arr = this;
var n = [arr[0]];
for (var i = 1; i < arr.length; i++) {
if (key === undefined) {
if (n.indexOf(arr[i]) == -1) n.push(arr[i]);
} else {
inner: {
var has = false;
for (var j = 0; j < n.length; j++) {
if (arr[i][key] == n[j][key]) {
has = true;
break inner;
}
}
}
if (!has) {
n.push(arr[i]);
}
}
}
return n;
}
使用方法:
[1,2,3,4,3,2].unique()
//[1,2,3,4]
[{a:1},{a:2},{a:1}].unique('a')
//[{a:1},{a:2}]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
感谢分享 支持!!!!