JavaScript集不断允许重复值

时间:2019-06-18 02:35:45

标签: javascript

我有一个循环,它会为URL值抓取一些HTML。它以字符串形式返回该值。然后,我将该字符串添加到集合中。问题是,当我再次执行抓取时,重复的值被添加到集合中。我意识到这些实际上是不同的对象,但是在某些情况下它们具有相同的值。如何创建仅允许添加不同值(相对于不同对象)的集合?

const request = require('request');
const cheerio = require('cheerio');
let urlSet = new Set;

function scraper() {

  request('https://www.pictame.com/user/xxxxxxx/stories/########', (error,
  response, html) => {

    if (!error && response.statusCode == 200) {

      const $ = cheerio.load(html);

      $('.video').each((i, el) => {
        const item = $(el).find('source').attr('src').toString();

        //we have a string of a url 
        // add it to the set but only if string is unique
        urlSet.add(item);

      });

      console.log(urlSet);

    };
  });
};

scraper();
setInterval(scraper, 60 * 500);

我希望将字符串添加到集合中,即使对象本身不同,也会省略重复的字符串。

0 个答案:

没有答案