Javascript 检查附加值的if语句的正确方法是什么?

Javascript 检查附加值的if语句的正确方法是什么?,javascript,arrays,typescript,Javascript,Arrays,Typescript,我有一个url调用,需要在我们向后端发出请求之前准备好,有baseurl,但有些url需要附加参数 需要添加到url中的,例如servicetocall/additonalParam。现在它按预期工作,但问题是当我有作为url一部分的查询参数时 并获取多个值,例如,假设我将baseurl定义为servicetoCall?configlist=,并且我必须分配值login、validation。 如果我发送这些值,它将显示为servicetoCall?configlist=/login,valid

我有一个url调用,需要在我们向后端发出请求之前准备好,有baseurl,但有些url需要附加参数 需要添加到url中的,例如servicetocall/additonalParam。现在它按预期工作,但问题是当我有作为url一部分的查询参数时 并获取多个值,例如,假设我将baseurl定义为
servicetoCall?configlist=
,并且我必须分配值
login、validation
。 如果我发送这些值,它将显示为
servicetoCall?configlist=/login,validation
,但在这种情况下,我不想要
/
。如何进行检查并解决此问题 这个问题

梅因酒店

cont params = ["login,validation", "additonal param if needed"]

if (serviceName.params && serviceName.length > 0) {
    serviceName.params.forEach((param) => {
       baseConfig.Url += "/" + param.toString();
    });
}

if(serviceName = "servicetoCall?configlist=") {
    serviceName.params.forEach((param) => {
       baseConfig.Url += param.toString();
    });
}
请看一看“”。(或者发布或删除的版本都非常相似)

您可以自己操作URL,然后调用它

const url = 'myUrl?param1="Hello"&param2="World"'
this.http.get(url)
这就是你现在正在做的

或者你可以使用有角度的物体,让Angular做这个工作

const url:string = 'myUrl';
const options = {
  params: { 
    param1: 'Hello',
    param2: 'World'
  }
}
this.http.get( url, options);
这看起来像是更多的代码,但它也更清楚我们正在做什么。你的意图已经表现出来了。有一个固定的url部分,有参数

最后,但并非最不重要的一点是,您可以准备一个对象,并将其与

this.http.request( yourRequest );
但这只是我之前展示的版本的漫长道路

就几句话,为什么我会选择一个单独的“选项”对象,而不是一个万能的url字符串。。。 如果您将所有内容直接打包到字符串中,那么以后将很难进行操作。所以,如果这是一个非常简单的url,那么这种方式是可以的。一旦它变得稍微复杂,或者您考虑“准备”一个url供以后使用,我会立即在它周围包上一些糖(HttpClient是您的朋友)。 这使您的代码更具可读性,您可以轻松地对其进行测试


温馨问候

看起来是一个很好的使用案例。是否可以提供上述代码的示例?使用该API添加参数,然后检查
如果(urlObject.searchParams.has('someKey'))
这是一个组件还是其他什么?