Url参数处理方法(js,querystring,lodash)

JavaScript016

Url参数处理方法(js,querystring,lodash),第1张

我们在处理url的跳转时,往往会在url后面带着很多参数。有时候需要把这些参数转化成对象当作参数进行跳转或其他之用,比如angular2的 routerLink的地址是不带参数的,参数写在 queryParams里,这时候就需要对url进行处理。

当然可能还有其他地方可能会用到此类转换。

下面介绍对于url参数的几种转换方法

1.   js处理,利用split()和循环实现

结果 { a: 10 , b :2}

2.  利用querystring

     querystring是在node封装好的一个模块,有处理string的方法直接处理这种地址

这种方法可以直接进行处理

参考链接 Query String       querystring 模块的使用

3. 利用lodash处理

结果也是正确的。

不过lodash不会,所以把别人提供的方法放在这,再来在细细研究lodash

此方法已更新至文章  Lodash使用入门

参考链接   lodash文档

把目标数组arr的元素值和键的位置调换 自动就把重复的元素给删除掉了,调换后的样子:array('qiang'=>1,'ming'=>1,'tao'=>1)

<script type="text/javascript">

var student = ['qiang','ming','tao','li','liang','you','qiang','tao']

function unique(arr){

var tmp = new Array()

for(var m in arr){

tmp[arr[m]]=1

}

//再把键和值的位置再次调换

var tmparr = new Array()

for(var n in tmp){

tmparr.push(n)

}

return tmparr

}

</script>

1._.get

说明: 其实就是如果没有这个值以后就会返回undefined,而不会像js中没有这个值就会报错

2._.cloneDeep

说明:深度克隆

3._.isEqual

说明:执行深比较来决定两者的值是否相等。

4._.compact(array)

说明:创建一个移除了所有假值的数组。例如:false、null、 0、""、undefined, 以及NaN 都是 “假值”.

5._.truncate([string=''], [options])

说明:截断字符串,如果字符串超出了限定的最大值。 被截断的字符串后面会以 omission 代替,omission 默认是 "..."

7._.uniq(array)

说明:返回不重复的数组。

8. .findIndex(array, [predicate= .identity])

说明:返回符合元素的 index,否则返回 -1。

9._.values(object)

把对象的值转化为数组

相当于es6的Object.values

10._.keys()

把对象的属性转化为数组

相当于es6的Object.keys

11._.forIn()

*相当于es6的Object.enteries

12._.isEmpty判断是否为空

13._.unionBy数组对象去重

14._.debounce函数防抖