复制每个类后添加逗号并删除空格cheerio

问题描述

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

这是我的代码部分:

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 方法将返回一个数组。您可以使用 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,baz"`
,

使用修剪和连接:

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