时间:2021-05-25
今日在bluediea看到淘宝在线招聘,相信淘宝的技术还是很牛的,于是赶紧打开看看题目并试着做做。
到了第三题时卡了偶老半天,并不是做不出来,感觉有很简便的方法但自己就是一时想不出来,不过费了九牛二虎之力终于完成本题,给出了一个另自己还比较满意的答案,欢迎各位朋友指点!
题目如下:
请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个仅包含被删除的重复条目的新数组。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
复制代码 代码如下:
Array.prototype.delRepeat=function()
{
vartmpArr=[],rs=[],i,val;
for(i=this.length;i>0;i--)
{
val=this[i-1];
if(!tmpArr[val])
{
tmpArr[val]=1;
}else
{
rs.push(val);
this.splice(i-1,1);
}
}
tmpArr=null;
returnrs;
}
两个优点:
1、预先将this[i-1]保存在变量val中,减少访问次数。
2、使用array.push方法,替换用变量保存数组长度的办法。
很好!赞一个!
偶还顺便实现了对返回重复项的过滤,可能是对题意理解有偏差。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。形式化描述:inputArra
如果没有提供callback函数,array_filter()将删除input中所有等值为FALSE的条目。删除数组中为空值的元素就可以使用这个函数。复制代码代
JavaScript数组shift()方法删除数组中的第一个元素,并返回该元素。语法array.shift();下面是参数的详细信息:NA返回值:返回数组中删除
JavaScript数组pop()方法删除数组中的最后一个元素,并返回该元素。语法array.pop();下面是参数的详细信息:NA返回值:返回从数组中删除的元
把数组中某个值删除,并返回新数组,需要遍历旧数组找到要删除的元素复制代码代码如下:/**删除数组中指定值*/Array.prototype.remove=fun