Javascript 对数组对象使用join方法以逗号分隔

Javascript 对数组对象使用join方法以逗号分隔,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一个由数组组成的对象,其中包含几个对象。我正在尝试使用join方法,但当然,我意识到这只适用于数组,除非转换为其他方式 我想用逗号/管道分隔我需要的对象。结果应如下: DISOVER |体验| 195奢华 但是需要一些关于如何实现这一点的指导,因为我得到了以下错误: “消息”:“未捕获类型错误:data.slideHeading1.join不是 功能“ 有没有其他方法可以做到这一点?请参阅下面我的代码: var imgObj={ “slideData”:[{ “幻灯片标题1”:“发现”,

我有一个由数组组成的对象,其中包含几个对象。我正在尝试使用join方法,但当然,我意识到这只适用于数组,除非转换为其他方式

我想用逗号/管道分隔我需要的对象。结果应如下:

DISOVER |体验| 195奢华

但是需要一些关于如何实现这一点的指导,因为我得到了以下错误:

“消息”:“未捕获类型错误:data.slideHeading1.join不是 功能“

有没有其他方法可以做到这一点?请参阅下面我的代码:

var imgObj={
“slideData”:[{
“幻灯片标题1”:“发现”,
}, {
“幻灯片标题1”:“体验”,
}, {
“幻灯片标题1”:“195豪华”,
}]
};
imgObj.slideData.forEach(函数(数据,idx){
var heading1=data.slideHeading1.join(“|”);
var heading2=data.slideHeading2.join(“|”);
var heading3=data.slideHeading3.join(“|”);
$('.slideTitle.heading-1')。追加(heading1);
$('.slideTitle.heading-2')。追加(heading2);
$('.slideTitle.heading-3')。追加(heading3);
});

您收到错误是因为
数据。slideHeading1
不是数组,而
join()
是在数组上实现的方法

我认为您希望通过管道将所有项目分开(
|
)。如果是这样,只需将该字符添加到文本末尾即可。然后循环遍历所有span元素,用先前生成的数组中的文本填充。如下所示:

var imgObj={
“slideData”:[{
“幻灯片标题1”:“发现”,
}, {
“幻灯片标题1”:“体验”,
}, {
“幻灯片标题1”:“195豪华”,
}]
};
var heading1=[];
imgObj.slideData.forEach(函数(数据,idx){
if(idx

您收到的错误是因为
数据。slideHeading1
不是数组,而是实际的字符串值

同时将管道(|)更改为逗号(,)

我想用逗号分隔我需要的对象

只要改变就行了

imgObj.slideData.forEach(function(data, idx) {
  var heading1 = data.slideHeading1.join('|');
  var heading2 = data.slideHeading2.join('|');
  var heading3 = data.slideHeading3.join('|');

  $('.slideTitle .heading-1').append(heading1);
  $('.slideTitle .heading-2').append(heading2);
  $('.slideTitle .heading-3').append(heading3);
});
到此

 imgObj.slideData.forEach(function(data, idx) {  
    var seperator = (idx==imgObj.slideData.length-1)? "":",";
                $('.slideTitle .heading-'+( idx+1)).append(data.slideHeading1 + seperator);
            });
var imgObj={
“slideData”:[{
“幻灯片标题1”:“发现”,
}, {
“幻灯片标题1”:“体验”,
}, {
“幻灯片标题1”:“195豪华”,
}]
};
forEach(函数(数据,idx){
变量分隔符=(idx==imgObj.slideData.length-1)?“”:“,”;
$('.slideTitle.heading-'+(idx+1)).append(data.slideHeading1+separator);
});


您试图获得什么输出?
数据.slideHeadingX
返回字符串,您想在这里加入什么?您只需执行
var heading1=data.slideHeading1+“|”
将为您提供“DISCOVER |”连接是将数组中的值连接在一起,形成一个带分隔符的字符串,您不能在字符串上进行连接。@Dahlia我不想使用加号运算符的原因是,它总是在管道的末尾添加加号,连接方法不会在末尾添加加号。抱歉,我已经更正了这个问题,以便更清楚地回答我的问题。本质上,任何类型的分隔符(逗号、管道等)都可以-我只需要理解实现result@zxynz,逻辑非常简单,我已经在答案中解释过了……如果您提到您正在努力理解的任何具体内容,那就太好了。谢谢-我添加了一个额外的代码块,其中包含我正在使用的确切库(文本旋转器)。这将有助于解释我的问题到底是什么。@zxynz,现在的问题是一个全新的问题,它使用了一个新的库
morphext
,我对此一无所知……希望你能理解。是的,没问题。但我认为这与你的第一个答案非常相似。我现在需要做的就是将每个对象中的第一个索引附加到heading-1,然后将第二个索引中的每个对象附加到heading-2,第三个也一样。他们会像你一样用管子分开