Javascript 创建新数组,其中带逗号的项被分隔为数组中的唯一项

Javascript 创建新数组,其中带逗号的项被分隔为数组中的唯一项,javascript,arrays,Javascript,Arrays,我有一个数组,它使用concat组合多个数组的源 var tags = [].concat.apply([], [typeArr,genderArr,conditionArr]); 然后对数组中的项进行筛选,以确定是否存在任何 tags = tags.filter(function(entry) { return entry.trim() != ''; }); 然而,我意识到,由于数据来自何处,一些项目以带逗号的字符串形式出现,例如标记数组如下所示:[“红色”、“蓝色”、“绿色、黄色、橙

我有一个数组,它使用
concat
组合多个数组的源

var tags = [].concat.apply([], [typeArr,genderArr,conditionArr]);
然后对数组中的项进行筛选,以确定是否存在任何

  tags = tags.filter(function(entry) { return entry.trim() != ''; });
然而,我意识到,由于数据来自何处,一些项目以带逗号的字符串形式出现,例如
标记
数组如下所示:
[“红色”、“蓝色”、“绿色、黄色、橙色”、“紫色、黑色”]


我如何拆分项目,使标记数组看起来像
[“红色”、“蓝色”、“绿色”、“黄色”、“橙色”、“紫色”、“黑色”]
?我在想,我在阵列上循环,然后使用split将它们重新插入到一个新阵列中

我正在尝试使用vanilla JavaScript

通过逗号使用(或执行相同操作的
.toString()
)将数组转换为单个字符串,通过逗号获得单个项目的数组:

var arr=[“红色”、“蓝色”、“绿色、黄色、橙色”、“紫色、黑色”];
var result=arr.join(',').split(',');
控制台日志(结果)
var数据=[“红色”、“蓝色”、“绿色、黄色、橙色”、“紫色、黑色”];
数据=数据.reduce(函数(上一个,下一个){
返回上一个concat(next.split(',');
}, []);
控制台日志(数据)您可以使用一个用于在

var数组=[“红色”、“蓝色”、“绿色、黄色、橙色”、“紫色、黑色”、“绿色、红色”],
结果=Array.from(新集合(Array.join(',')).split(','));

控制台日志(结果)“我想在数组上循环,然后使用split将它们重新插入到新数组中。”。听起来不错。你试过了吗?此帖子存在时,这里什么似乎不起作用?您可以使用
join()
,因为默认值是逗号。