当进行查询时,我正在处理这个后退按钮,但每次 url 中有更多查询时,我都会重复自己的 if 语句。需要'(([查询,值]',如果有更多,我必须添加另一个 if 语句。
let url= Object.entries(searchQuery).map(([query, value])=>{
return `${query.toString()}=${value.toString()}`;
});
}
if (url.length === 2){
return `/search?${url[0]}&${url[1]}`;
}
if (url.length === 3){
return `/search?${url[0]}&${url[1]}&${url[2]}`;
}
你可以.join('&')
你的url
数组:
function createUrl(searchQuery) {
let url = Object.entries(searchQuery).map(([query, value]) => {
return `${query.toString()}=${value.toString()}`;
});
return `/search?${url.join('&')}`;
}
你可以做这样的事情:
let param = '';
for(let i = 0; i < url.length; i++) {
param += `${url[i]}&`
}
return "/search?" + param.slice(0, -1);
为什么不使用for
语句?
let retString = '/search?';
for(idx = 0; idx < url.length; idx++)
{
retString += `&${url[idx]}`;
}