Javascript / React - 不重复自己的最好方法



当进行查询时,我正在处理这个后退按钮,但每次 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]}`;
}

最新更新