在每个 class 被复制后添加逗号并删除 space cheerio

adding commas and removing space after each class is copied cheerio

我不明白如何在每个 class 被复制后添加逗号我是使用 for 循环完成的,但它提供的输出比我想要的更多。 .name 大约有 9 div class 所以当每个被复制时我想添加逗号并删除额外的 space.

这是我的代码部分:

const A = $('.tag-container.field-name').map((i, section) => {
                    let B = $(section).find('.name')
                    return B.text()
                    })
                    .get(2)
                    console.log(A) 

这里有两件事你想做。

要删除字符串左侧或右侧的任何空格(例如从 " foo ""foo"),您可以使用 String.trim() 方法。

关于第二点,我假设在添加逗号时,你希望以一串类名结尾,用逗号分隔,如"foo,bar,baz"。您已经在使用的 .map 方法将 return 一些东西的数组。您可以使用 Array.join() 方法将数组的元素作为字符串连接在一起。 join 方法采用单个参数,指定要在每个元素之间使用的字符串。

把它们放在一起,你最终会得到类似的东西:

const A = $(".tag-container.field-name")
  .map((i, section) => {
    let B = $(section).find(".name");
    return B.text().trim(); // Note use of trim
  })
  .join(',') // Join all elements of the array with the `,` character

console.log(A);
// Something like `"foo,bar,baz"`

使用trim并加入:

$(css).get().map(el => $(el).text().trim()).join(', ')