使用正则表达式查找查询中的重复参数

我有一个类似的搜索查询

`const query = '?sortBy=recent&page=2&comments=true&sortBy=rating' // two repeating params 'sortBy'

如何使用正则表达式检查是否有重复的参数?

评论
  • lvero
    lvero 回复

    不建议使用正则表达式。

    尝试这个

    const query = new URLSearchParams('?sortBy=recent&page=2&comments=true&sortBy=rating');
    
    const keys = [...query.keys()]; // convert iterable to array
    console.log(keys)
    
    const unique = keys.length === new Set(keys).size; // return false if dupes found
    console.log(unique);
    
    // to get the dupe(s)
    
    const dupes = keys.filter((e, i, a) => a.indexOf(e) !== i)
    console.log(dupes)