我举个例子,这是一个数组去重方法,本地调试也过了,牛客上的在线编程也是能通过的,但是在网申的笔试中通过率是10%, 如果去掉最后的var array=[1,2,3,3,2,NaN,NaN];console.log(array.uniq());的话就显示你不通过,这是咋回事呀,好揪心啊 Array.prototype.uniq = function () { var result=[]; var isNaN=true; for(var i=0;i<this.length;i++){ if(result.indexOf(this[i])==-1){ if(this[i]!=this[i]){//需要排除特殊的NaN,如果不是NaN直接执行数组追加 if(isNaN){//通过这个设置是否已经存在NaN。true代表还没有存入NaN,如果是false那么已经存在,则不需要追加 result.push(this[i]); isNaN = false; } }else { result.push(this[i]); } } } return result; } var array=[1,2,3,3,2,NaN,NaN]; console.log(array.uniq());
点赞 评论

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
牛客网
牛客企业服务