关于数组去除重复的问题

InsistOnDoing 2010-05-20 04:08:46
var a = new Array( 1, 1, 1, 2, 3, 4, 1, 2, 5,11);
alert(a.reverse().join(",").match( /([^,]+)(?!.*\1)/ig).reverse());
问题:
(1) \1 是什么意思?
(2) 讲讲怎样去的重复
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xushilin000000000 2010-05-21
  • 打赏
  • 举报
回复
《从零开始》
newFromZero 2010-05-21
  • 打赏
  • 举报
回复
这个方法有问题。
测试数据new Array(11,2,4,1);
不过这个思路倒是值得借鉴。
gsq_0912 2010-05-21
  • 打赏
  • 举报
回复
正则表达式,强!!!
passself 2010-05-20
  • 打赏
  • 举报
回复
楼上强大,正则强大
绿光 2010-05-20
  • 打赏
  • 举报
回复
a.reverse().join(",")将a转换为反向字符串
11,5,2,1,4,3,2,1,1,1

([^,]+)
匹配非,的所有字符

?!.
(?!X) X,通过零宽度的负 lookahead
(向一个方向搜索)

*
0次或多次

\1
\n 任何匹配的 nth 捕获组
(只取第一个)

87,899

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧