写了两个,当然还有一些其他的方式,es6的也很方便
<script> var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 11, 12, 13, 13, 14, 15]; /** * 利用对象属性不能重复的的原理 * @returns {Array} */ Array.prototype.unique = function () { console.time("testObj"); var temp = {}; var res = []; var len = this.length; for (var i = 0; i < len; i++) { if (!temp[this[i]]) { temp[this[i]]="unique"; res.push( this[i]); } } console.timeEnd("testObj"); return res; } /** * 使用indexof去重 * @returns {Array} */ Array.prototype.unique2 = function () { console.time("testIndexOf"); var temp = {}; var res = []; var len = this.length; for (var i = 0; i < len; i++) { if(res.indexOf(this[i])===-1){ res.push(this[i]); } } console.timeEnd("testIndexOf"); return res; } </script>
1.如需转载本站原创文章,请务必注明文章出处并附上链接,非常感谢。
2.本站用于记录个人 工作、学习、生活,非商业网站,更多信息请 点击这里
下一篇: 事件冒泡、事件捕获、事件委托知识点整理