简体   繁体   English

如何将数组转换为用于queryparams的对象?

[英]How to convert array to object for queryparams?

I have this array['ca','ba','es'] 我有这个数组['ca','ba','es']

How can i covnert to object so that i have r=ca, r=ba, r=es. 我该如何反对,所以我有r=ca, r=ba, r=es.

So in queryParams when i add i will have url something like this: 因此,在queryParams中,当我添加时,我的网址将如下所示:

r=ca&r=ba&r=es

I tried something like this but its not working: 我尝试了类似的方法,但是没有用:

let obj = this.queries.r.reduce(function(acc, cur, i) {
      'r' = cur; 
      return acc;
    }, {});

Because r is not valid as param.Any suggestion how can i fix this? 因为r无效,所以我该如何解决呢?

Try this. 尝试这个。 I think this should work in your case. 我认为这应该适合您的情况。

Const params = new HttpParams({fromObject: { r: yourArrayHere }}).

Make sure you import HttpParams from @angular. 确保从@angular导入HttpParams。

Hope that helps! 希望有帮助!

Since you are using an old version. 由于您使用的是旧版本。 Latest HttpParams fromObject won't work. 最新的HttpParams fromObject无法正常工作。

Try something like this. 尝试这样的事情。

let params = new HttpParams()

['ca','ba','es'].forEach(item => {
     params = params.append(“r”, item);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM