How Can I sort my parsed RSS feed by most recent?

182 views Asked by At

I have an RSS parser built in NodeJS, and sometimes feeds aren't sorted in order of the most recent item. How can I modify my existing parser to sort for this information? I know I would use pubDate or iso.Date tags in the rss feed. [I use this rss parser installed via node][https://www.npmjs.com/package/rss-parser]

function MarinersFeed() {
      const [disable, setDisable] = React.useState(false);

      


      const [completeFeed, setCompletedFeed] = React.useState([]);
      const [feedTitle, setFeedTitle] = React.useState([]);
      const [feedLink, setFeedLink] = React.useState([]);

      

      React.useEffect(async () => {
            
            let Parser = require('rss-parser');
            let parser = new Parser();

            const tFeed = [];
            const tFeedTitle = [];
            const tFeedLink = []
            
         
            let feed = await parser.parseURL('https:*******.herokuapp.com/https://www.mlb.com/mariners/feeds/news/rss.xml');
            feed.items.forEach(item => {

                  //sort by using item.isoDate, keep item.title and item.link connected
                  

                  tFeed.push(item.title);
                  
                  tFeedLink.push( item.link);
                  
                  
                 
                 

            });

            setCompletedFeed(tFeed);
            //setFeedTitle(tFeedTitle);
            setFeedLink(tFeedLink);


      }, []);

           
      const renderData = () => {
            return completeFeed.map((f, index) => {

                  const title = feedTitle[index];
                  const link = feedLink[index]
                  const fullFeed = completeFeed[index]

                  return <div key={index} >


                        <h3>{fullFeed}
                              <Button onClick={(e) => {
                                    e.preventDefault();
                                    console.log(link)
                                    window.open(link, "_blank")
                              }}></Button></h3>


                  </div>
            })
      }

      




           
            
            return(
                  <>
                        
                        {renderData()}
                  </>
            )
            
      }

export default MarinersFeed;
0

There are 0 answers