簡體   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