写在前面
本题目来自牛客网,已经成功通过测试。笔者刚刚开始学习前端,准备在掘金记录下自己的学习过程,欢迎和我一样准备入门前端的小伙伴们一起交流学习,也欢迎各位大佬批评指正~~~
题目描述
为 Array 对象添加一个去除重复项的方法
示例
输入
[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN]
输出
[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a']
题解
Array.prototype.uniq = function () {
let arrNew = []
this.forEach(ele => {
if(arrNew.indexOf(ele) === -1 && ele === ele ||
ele !== ele && !arrNew.includes(NaN) ){
arrNew.push(ele)
}
})
return arrNew
}
知识点
难点主要是NaN的处理
- 判断数组中是否包含NaN不能用indexOf,arrayObject.indexOf(NaN)恒等于-1; 用arrayObject.includes(NaN)来判断。
- NaN是唯一一个不等于自身的元素,NaN !== NaN
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!