如何将标签列表更改为以逗号分隔的字符串?
问题描述:
我有Instagram的主题标签能像列表这个如何将标签列表更改为以逗号分隔的字符串?
#love #life #instagram #cool
,但我希望他们看起来像这样
'爱', '生命',“ Instagram','酷'
有没有什么办法可以使用JavaScript来实现这一点,或者是否有一个现有的程序呢?我想要一个小代码,将这些井号标签作为输入,并以我想要的格式输出。我只知道JavaScript,所以我怀疑任何其他的编程语言建议都会有用,除非有一个程序已经这样做了。
答
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
答
,你可以这样做:
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>
你到目前为止尝试过什么?请发表你的[mcve] – Shashanth
你目前的数据是'var list = ['#love','#life','#instagram','#cool'];还是更像'var list ='#love #life #instagram #cool';'? – ThisClark