2017-03-31 71 views
-1

我有Instagram的主題標籤能像列表這個如何將標籤列表更改爲以逗號分隔的字符串?

#love #life #instagram #cool

,但我希望他們看起來像這樣

'愛', '生命',「 Instagram','酷'

有沒有什麼辦法可以使用JavaScript來實現這一點,或者是否有一個現有的程序呢?我想要一個小代碼,將這些井號標籤作爲輸入,並以我想要的格式輸出。我只知道JavaScript,所以我懷疑任何其他的編程語言建議都會有用,除非有一個程序已經這樣做了。

+0

你到目前爲止嘗試過什麼?請發表你的[mcve] – Shashanth

+2

你目前的數據是'var list = ['#love','#life','#instagram','#cool'];還是更像'var list ='#love #life #instagram #cool';'? – ThisClark

回答

-1
res = list.map(function(item) { 
    return "'" + item.replace("#","") + "'"; 
}).join(','); 

map函數將給定數組或列表轉換爲另一個映射值數組。 但是如果您還沒有準備好,那麼:

// if strData = "#abc#cde,..."; 
list = strData.split("#").splice(1).map(function(tag){ 
    return "'" + tag + "'"; 
}).join(","); 
+0

現在會嘗試,謝謝 –

+0

移位和拼接的區別是移位返回移除的項目,但拼接返回結果,(還有更多) – nullqube

-1

,你可以這樣做:

let input = $('#my_input').text().split('#'); 
 
let output = ''; 
 
$.each(input, function(key, value) { 
 
\t if(value != ''){ 
 
\t \t if(input.length-1 != key){ 
 
\t \t \t output += "'" + value + "', " 
 
\t \t }else{ 
 
\t \t \t output += "'" + value + "'" 
 
\t \t } 
 
\t } 
 
}); 
 

 
$('#my_input').text(output)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<!-- 'love', 'life', 'instagram', 'cool' --> 
 
<div id='my_input'>#love #life #instagram #cool</div>

或這樣的事情(從nullqube但增加了一些變化):

let strData = $('#my_input').text(); 
 

 
let list = strData.split("#"); 
 
//remove first item 
 
list.shift(); 
 
let res = list.map(function(item){ 
 
\t if(item != ''){ 
 
    \t \t return "'" + item + "'"; 
 
\t } 
 
}).join(", "); 
 

 
$('#my_input').text(res)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<!-- 'love', 'life', 'instagram', 'cool' --> 
 
<div id='my_input'>#love #life #instagram #cool</div>

相關問題