最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Javascript去除数组的重复元素_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:48:59
文档

Javascript去除数组的重复元素_javascript技巧

Javascript去除数组的重复元素_javascript技巧:我打开firebug的console,花了30秒想,30秒写,结果如下:(x为目标数组,y是去除重复元素后的结果) 代码如下: var x=[1,1,3,4,5,3]; var y=[]; var tArray=function(i,arr){ var yap=false; for(var j=0;jif(arr[
推荐度:
导读Javascript去除数组的重复元素_javascript技巧:我打开firebug的console,花了30秒想,30秒写,结果如下:(x为目标数组,y是去除重复元素后的结果) 代码如下: var x=[1,1,3,4,5,3]; var y=[]; var tArray=function(i,arr){ var yap=false; for(var j=0;jif(arr[


我打开firebug的console,花了30秒想,30秒写,结果如下:(x为目标数组,y是去除重复元素后的结果)
代码如下:
var x=[1,1,3,4,5,3];
var y=[];
var tArray=function(i,arr){
var yap=false;
for(var j=0;jif(arr[j]==i){yap=true;break;};
}
if(!yap) arr.push(i);
};
for(var t=0;ttArray(x[t],y);
}
alert(y.length);
alert(y.toString());

答案不是唯一的,而且没有标准答案,所以上面的代码是对的也是错的。如果数组是一个复杂对象数组呢?如果数组中包含多个空对象{}呢?要知道js里面有很多特殊甚至是bug的现象,alert({}=={})看看怎么回事...

注:如果谁有标准答案欢迎评论里面发下让大家学习学习。

出题者本身就不会考虑到这些问题。

不要去学习做题,在实际工作中遇到问题时高效解决问题的能力才是真正有价值的。

需要注意的地方补充:

有个问题应该注意下
arr[j]==i 您这里貌似 是指当数组元素 为number类型时的相等性判断...
但是往往我们可能要对不同类型做 相等性判断... 这个是实际应用时应该考虑的问题

1!=new Number(1)的情况
null==undefined 的情况

0=="0" 的情况 等等

所以 显然 简单的== 和===都是不合适的.
应该实现一个 equals 方法 做相等性判断... 要根据需求 设置规则

我举的例子正是针对number类型的数组的,目的是对“面试啥做题”表达一种态度。实际应用中应该根据实际需求去考虑。除非实际工作中要求或者我是个js学术研究者,否则我是不会去实现一个equals方法的。国外的开发员往往遵循一个信条:“Do The Simplest Thing That Could Possibly Work”,意思大概即“不要过度设计,适用至上”,我这几年的工作经验也常常印证着这个道理。不知道你怎么看。

文档

Javascript去除数组的重复元素_javascript技巧

Javascript去除数组的重复元素_javascript技巧:我打开firebug的console,花了30秒想,30秒写,结果如下:(x为目标数组,y是去除重复元素后的结果) 代码如下: var x=[1,1,3,4,5,3]; var y=[]; var tArray=function(i,arr){ var yap=false; for(var j=0;jif(arr[
推荐度:
标签: 技巧 去掉 元素
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top