Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 1.17 KB

unique-reg-exp.md

File metadata and controls

41 lines (28 loc) · 1.17 KB
标题 标签
uniqueRegExp(通过正则表达式来达到数组去重) array(数组)

通过正则表达式来达到数组去重。

  • 使用sort方法将数组排序,然后使用join方法将数组转换成字符串,再使用一系列replace方法将字符串去重,接着使用split方法将去重后的字符串转换为数组

代码如下:

const uniqueRegExp = arr =>
  arr
    .sort()
    .join(',,')
    .replace(/(,|^)([^,]+)(,,\2)+(,|$)/g, '$1$2$4')
    .replace(/,,+/g, ',')
    .replace(/,$/, '')
    .split(',');

ts代码如下:

调用方式:

uniqueRegExp([1, 2, 3, 1]);
// [1,2,3]

应用场景

以下是一个实战示例:

结果如下:

<iframe src="codes/javascript/html/unique-reg-exp.html"></iframe>