要求是这样子的,输入一串url 和一个待去除参数,输出筛选后的结果,第二个参数缺省的话,去除重复部分。
stripUrlParams('www.codewars.com?a=1&b=2&a=2', ['b']) // returns 'www.codewars.com?a=1'
我的思路是先将querry参数变成二维数组再去重,去重这步遇到了问题,求助!或者针对这个要求有木有更好地解决方法也行
[[a,1],[b,2],[a,2]] 去除[a,2],剩下[[a,1],[b,2]]该如何写?只保留第一次出现的
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
思路:对象的键值是唯一的,将参数转化为数组后,遍历数组,若在对象中已经存在参数名称则跳过;否则添加参数与值;然后遍历对象组合URL。代码如下:
对于去重问题,可以简单的用一个
reduce解决:写一个function。
定义一个object变量flag,一个新数组result。
然后遍历你要去重的数组
然后根据元素item(也是一个数组)的第一个元素 first = item[0](这里就是题目中的a,b)去判断
最后return result就好了
谁踩我能给我个理由吗?
思路:
将二维数组转换成一位数组去比较,将二级元素转换为字符串比较方便,但是为了区分类型,引入typeof拼接,之后对这个一维数组查重,记下不重复的索引,之后你看代码吧- -
这个方法比较偏,还请大家多多指教。
命名什么的都去屎吧!
单层循环就能搞定。你这个特殊问题,可以转化到单层数组去重问题上。
测试
用set或者map最省事,set比map更省事;