Javascript 迭代器问题


let story = 'Last weekend, I took literally the most beautiful bike ride of my life. The route is called "The 9W to Nyack" and it actually stretches all the way from Riverside Park in Manhattan to South Nyack, New Jersey. It's really an adventure from beginning to end! It is a 48 mile loop and it basically took me an entire day. I stopped at Riverbank State Park to take some extremely artsy photos. It was a short stop, though, because I had a really long way left to go. After a quick photo op at the very popular Little Red Lighthouse, I began my trek across the George Washington Bridge into New Jersey.  The GW is actually very long - 4,760 feet! I was already very tired by the time I got to the other side.  An hour later, I reached Greenbrook Nature Sanctuary, an extremely beautiful park along the coast of the Hudson.  Something that was very surprising to me was that near the end of the route you actually cross back into New York! At this point, you are very close to the end.';
let overusedWords = ['really', 'very', 'basically'];
let unnecessaryWords = ['extremely', 'literally', 'actually' ];
let storyWords = story.split(' ')
let betterWords = 
storyWords.filter(function(word) {
  if (unnecessaryWords.includes(word)) {
    return false;
  } else {
    return true;
  }
});
let superbWords = storyWords.reduce( (currentWordCount, word) => {
  if(overusedWords.includes(word)){
     return currentWordCount + 1;
     }
  return currentWordCount;
}**, 0);**

我很难理解这部分代码是如何工作的以及为什么零在那里。有人可以帮助我更好地理解这一点。 谢谢!

console.log(superbWords);

已在此片段中添加了注释,希望它会有用

let story = 'Last weekend, I took literally the most beautiful bike ride of my life. The route is called "The 9W to Nyack" and it actually stretches all the way from Riverside Park in Manhattan to South Nyack, New Jersey. It's really an adventure from beginning to end! It is a 48 mile loop and it basically took me an entire day. I stopped at Riverbank State Park to take some extremely artsy photos. It was a short stop, though, because I had a really long way left to go. After a quick photo op at the very popular Little Red Lighthouse, I began my trek across the George Washington Bridge into New Jersey.  The GW is actually very long - 4,760 feet! I was already very tired by the time I got to the other side.  An hour later, I reached Greenbrook Nature Sanctuary, an extremely beautiful park along the coast of the Hudson.  Something that was very surprising to me was that near the end of the route you actually cross back into New York! At this point, you are very close to the end.';
let overusedWords = ['really', 'very', 'basically'];
let unnecessaryWords = ['extremely', 'literally', 'actually' ];
let storyWords = story.split(' ')
// This will return an array which does not contain any elements
// which are in unnecessaryWords 
let betterWords = 
storyWords.filter(function(word) {
  if (unnecessaryWords.includes(word)) {
    return false;
  } else {
    return true;
  }
});
//applying array reduce function,the callback function accepts 4 parameter
// out of which the first two are known as accumulator & currentValue. It does not matter 
// how it is named, 0 here is the starting number, you can read it as the
// first value is set to 0.Currently the result of  superbWords is 8 but
// instead of 0 if you pass 1 , the result will be 9
let superbWords = storyWords.reduce( (currentWordCount, word) => {
  if(overusedWords.includes(word)){
     return currentWordCount + 1;
     }
  return currentWordCount;
}, 0);

最新更新