Javascript 如何在不同选择选项的值之间设置分隔符?

Javascript 如何在不同选择选项的值之间设置分隔符?,javascript,Javascript,我有这个: 函数生成{ var color=$color选项:selected.mapfunction{returnthis.value}.get.join'-'; var size=$size选项:selected.mapfunction{returnthis.value}.get.join'-'; //最终URL var结果=https://weneve.com/en/59-wall-concrete-tiles?q='; 颜色?结果+=“颜色-”+颜色:空; 大小?结果+=“大小-”+大小

我有这个:

函数生成{ var color=$color选项:selected.mapfunction{returnthis.value}.get.join'-'; var size=$size选项:selected.mapfunction{returnthis.value}.get.join'-'; //最终URL var结果=https://weneve.com/en/59-wall-concrete-tiles?q='; 颜色?结果+=“颜色-”+颜色:空; 大小?结果+=“大小-”+大小:空; window.openresult,“u blank”; }
但在最终的URL中,如果有人选择Value=Color和Value=Size,则这些值彼此相邻,没有任何空格。如何用逗号分隔它们?

按建议编辑答案。。。正如其他后续答案所评论的,我们通常使用array.join来处理此类内容。但是,如果只有两个参数color和size,那么如果用户同时选择了color和size,则可以添加逗号。下面的代码只是添加了一个额外的语句,使用了与颜色和大小选项相同的三元运算符格式,但条件检查同时适用于颜色和大小。如果两者的计算结果均为true,则在结果字符串中添加逗号

// Final URL
var result = 'https://weneve.com/en/59-wall-concrete-tiles?q=';
color ? result += 'Color-'+color : null;
(color && size) ? result += ',' : null;
size ? result += 'Size-'+size : null;

按建议编辑答案。。。正如其他后续答案所评论的,我们通常使用array.join来处理此类内容。但是,如果只有两个参数color和size,那么如果用户同时选择了color和size,则可以添加逗号。下面的代码只是添加了一个额外的语句,使用了与颜色和大小选项相同的三元运算符格式,但条件检查同时适用于颜色和大小。如果两者的计算结果均为true,则在结果字符串中添加逗号

// Final URL
var result = 'https://weneve.com/en/59-wall-concrete-tiles?q=';
color ? result += 'Color-'+color : null;
(color && size) ? result += ',' : null;
size ? result += 'Size-'+size : null;

您可以在数组中保留查询参数,而不是立即使用concat。Than-用join方法连接它

var queryParams = [];
if(color) queryParams.push('Color-' + color);
if(size) queryParams.push('Size-' + size);

var queryParamsString = queryParams.join(',');
var url = 'https://weneve.com/en/59-wall-concrete-tiles';
var finalUrl = queryParamsString ? url + '?q=' + queryParamsString : url;

但如果我是你,我会查看URL类型,以构造更易于理解和优雅的代码。

而不是concat,你可以立即将查询参数保留在数组中。Than-用join方法连接它

var queryParams = [];
if(color) queryParams.push('Color-' + color);
if(size) queryParams.push('Size-' + size);

var queryParamsString = queryParams.join(',');
var url = 'https://weneve.com/en/59-wall-concrete-tiles';
var finalUrl = queryParamsString ? url + '?q=' + queryParamsString : url;

但是如果我是你,我会查看URL类型,以构造更易于理解和优雅的代码。

这样想:当处理一个列表时,如果你还不知道最后的长度,请将这些内容放在一个数组中。当您准备好显示依赖于该数组中的内容的文本时,请将该数组转换为字符串,在这些内容之间插入所需的字符

您已经在使用。请在代码的前面加入。您将在最后一步中使用它添加逗号

函数生成{ //创建空数组 变量queryParams=[]; var color=$color选项:selected.mapfunction{ 返回此.value }.get.join'-'; 如果颜色{ queryParams.pushcolor; } 变量大小=$size选项:selected.mapfunction{ 返回此.value }.get.join'-'; 如果大小{ queryParams.pushsize; } //最终URL var urlpoptions=queryParams.join','; var结果=`https://weneve.com/en/59-wall-concrete-tiles?q=${params}`; window.openresult,“u blank”; }
这样想:当处理一个你还不知道最终长度的事物列表时,把这些事物放在一个数组中。当您准备好显示依赖于该数组中的内容的文本时,请将该数组转换为字符串,在这些内容之间插入所需的字符

您已经在使用。请在代码的前面加入。您将在最后一步中使用它添加逗号

函数生成{ //创建空数组 变量queryParams=[]; var color=$color选项:selected.mapfunction{ 返回此.value }.get.join'-'; 如果颜色{ queryParams.pushcolor; } 变量大小=$size选项:selected.mapfunction{ 返回此.value }.get.join'-'; 如果大小{ queryParams.pushsize; } //最终URL var urlpoptions=queryParams.join','; var结果=`https://weneve.com/en/59-wall-concrete-tiles?q=${params}`; window.openresult,“u blank”; }
非常感谢你!我非常感激,非常感谢!我非常感激。