gpt4 book ai didi

javascript - 连接查询参数并将它们添加到 url

转载 作者:行者123 更新时间:2023-11-30 13:50:47 25 4
gpt4 key购买 nike

我有一个包含 4 个类别(错误、警告、信息和调试)的复选框,每当用户选中其中一些类别时,我必须将它们添加到查询中以进行 httpclient 调用。

例如,如果用户检查所有这些,我应该发送一个查询:(category=eq=Error,category=eq=Warning,category=eq=Info,category=eq=Debug)

这就是我所做的,我尝试创建一个字符串对象并在它们被检查时一个一个地连接:

 if (obj.category) {
const ctgLength = obj.category.length; //the number of categorieschecked by the user
object["(category=eq"] = obj.category[0];
for (let i = 1; i < ctgLength - 1; i++) {
console.log(obj.category[i]);
object[",category=eq"] = obj.category[i] + ",";
}
object["category=eq"] = obj.category[ctgLength - 1] + ")";
}

但我得到的是:(category=eq=Error,category=eq=Info,category=eq=Debug)for 循环只影响最后一次迭代的值。

首先:在我的案例中,我正在做的是生成查询的好方法吗?第二:如何修复此代码以获取查询中的所有类别?

谢谢。

最佳答案

首先,看在上帝的份上,请在专用文件中将任何字符串文字定义为常量。这确保了所有相关人员的可维护性和健全性。

const Constants = {
CategoryQueryParam: "category=eq"
};

现在让我们将该代码放入它自己的函数中

function buildCategoryQueryString (selectedCatergories) {}

并稍微重构一下实现。

 function buildCategoryQueryString (selectedCatergories: string[]): string {
if (selectedCatergories == null || selectedCatergories.length === 0) {
return null;
}
let queryString = selectedCatergories.map(category =>
`${Constants.CategoryQueryParam}=${category}`).join(',');
return `(${queryString})`;
}

关于javascript - 连接查询参数并将它们添加到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com