如何将对象数组转换为逗号分隔的字符串?

3
我正在尝试使用jQuery或JavaScript将对象数组转换为逗号分隔的字符串,无论我尝试什么方法都无法正确实现。
我从一个选择值中获取了这个对象数组。
ort = $('#ort').val();
ort=JSON.stringify(ort)

ort=["Varberg","Halmstad","Falkenberg"]

如何将它转换为一个类似于这样的字符串?
ort=Varberg,Halmstad,Falkenberg

任何意见都受到欢迎,谢谢。

3
在例子["i", "am", "too", "lazy", "to", "search"].join();中使用join()会输出字符串"i,am,too,lazy,to,search",该方法可以将数组中的元素转换为一个字符串并用指定的分隔符连接起来。 - Cid
1
你甚至不需要显式地使用 join() 方法,只需将其转换为字符串即可。例如 ""+["Varberg","Halmstad","Falkenberg"]String(["Varberg","Halmstad","Falkenberg"])["Varberg","Halmstad","Falkenberg"].toString() - Thomas
这是一个简单的解决方案:let ortObjectToArray = JSON.parse(ort); let ortDecode = ortObjectToArray.join(','); - Maizied Hasan Majumder
3个回答

10
你可以使用 join 方法。

let arr = ["Varberg","Halmstad","Falkenberg"]

console.log(arr.join(','))


谢谢,但我遇到了一个错误,TypeError: ort.join不是一个函数。(在'ort.join(',')'中,'ort.join'未定义)? - Claes Gustavsson
1
你可以使用.join()函数。分隔符的默认值是, - Cid
@Cid 感谢你指出来,但为了可读性,我更喜欢这个。 - Code Maniac
1
@ClaesGustavsson join是一个数组方法。你需要先将字符串解析为数组,可以使用这个JSON.parse(["Varberg","Halmstad","Falkenberg"]).join(',') - Code Maniac
代码,非常感谢!现在我终于在IE11中也能得到Varberg、Falkenberg和Halmstad了,哈哈。 - Claes Gustavsson
显示剩余2条评论

2
使用 Array.prototype.join 将其转换为逗号分隔的字符串。最初的回答。

let str = ort=["Varberg","Halmstad","Falkenberg"].join(","); //"," not needed in join
console.log(str);

A simple toString also works in this case.

let str = ort=["Varberg","Halmstad","Falkenberg"].toString();
console.log(str);


你可以使用.join()函数。默认的分隔符是, - Cid
@Cid 是的,没错! - Fullstack Guy

0

另一种实现方式是使用 Array.prototype.reduce

console.log(["Varberg", "Halmstad", "Falkenberg"].reduce((s, el, idx, arr) => {
  s += el
  if (idx < arr.length - 1) {
    s += ','
  }
  return s;
}, ''));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接