繁体   English   中英

javascript数组-用单引号分隔值和值的值

[英]javascript array - separate values and values of values by single quotes

我有一个看起来像这样的数组:

var array = ["Rock Paper,Shoot,Dulce", "Once,Apple Mic,Chairs"]

我想返回这样的结果:

'Rock Paper','Shoot','Dulce','Once','Apple Mic','Chairs'

到目前为止,这是我所做的:

includes = tagsI.map(tag => `'${tag}'`).join(',')

但这仅以逗号分隔,并用单引号引起来..也不是值的值。

我怎样才能做到这一点?

谢谢

用逗号将数组的项目连接到单个字符串。 用逗号分隔符分割字符串,将项目映射为所需的格式,然后再次用逗号连接。

 const array = ["Rock Paper,Shoot,Dulce", "Once,Apple Mic,Chairs"] const result = array .join(',') .split(',') .map(tag => `'${tag}'`) .join(','); console.log(result); 

用逗号分隔tag并使用其他地图

 var tagsI = ["Rock Paper,Shoot,Dulce", "Once,Apple Mic,Chairs"] var result = tagsI.map(tag => tag.split(',').map(tag => `'${tag}'`)).join(','); console.log(result) 

如何使用reduce:

  var array = ["Rock Paper,Shoot,Dulce", "Once,Apple Mic,Chairs"]; //V1 : compatible with all browsers var result = array.reduce((acc, elem, index, arr)=>{ var n_arr = elem.split(",").map(map_elem=> `'${map_elem}'`); n_arr.forEach(fe_elem => acc.push(fe_elem)); return acc; }, []).join(","); console.log(result); document.querySelector("#res1").innerHTML = result; //V2: compatible with some browsers var result2 = array.reduce((acc, elem, index, arr)=>{ var n_arr = elem.split(",").map(map_elem=>`'${map_elem}'`); acc.push(...n_arr); return acc; }, []).join(","); console.log(result2) document.querySelector("#res2").innerHTML = result2; 
 <body> <p id="res1"></p> <p id="res2"></p> </body> 

原理如下:

  • 我们有一个初始数组“ array”,其中存储了字符串([[Rock Paper,Shoot,Dulce“,” Once,Apple Mic,Chairs“])

  • 对于数组中的每个字符串:

    1. 我们将所说的字符串用“,”分割成一个数组
    2. 我们用引号将这个数组的每个元素括起来
    3. 我们将每个这些元素添加到数组中,将其用作结果变量
  • 我们创建了一个由“,”连接的字符串



PS:如果要使用数组而不是字符串,只需删除join(",")

首先,您需要拆分数组中的每个元素。

var array = ["Rock Paper,Shoot,Dulce", "Once,Apple Mic,Chairs"];
var split = array.map(v => v.split(","));
var flattened = [].concat.apply([], split);
var str = flattened.join(",");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM