Javascript .filter以迭代数组

Javascript .filter以迭代数组,javascript,arrays,iterator,Javascript,Arrays,Iterator,我试图迭代一个数组,以过滤掉我不想在新数组中使用的某些单词 我可以用for循环来实现,但我正在学习并尝试使用迭代器 我的代码如下: 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

我试图迭代一个数组,以过滤掉我不想在新数组中使用的某些单词

我可以用for循环来实现,但我正在学习并尝试使用迭代器

我的代码如下:

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 unnecessaryWords = ['extremely', 'literally', 'actually' ];

let storyWords = story.split(' ');

let betterWords = storyWords.filter(function(words) {
     return words !== unnecessaryWords[0];
});

console.log(betterWords.join(' '));
我试图从storyWordsstory数组中去掉不必要的单词。现在它将去掉不必要的单词中的第一个元素,但我不能让它同时完成这三个。谢谢你的帮助

您可以在这里使用indexOf,使用indexOf检查单词是否在不必要的单词数组中,并将其过滤掉

let story='上周末,我骑了我一生中最漂亮的自行车。这条路线被称为9W到尼亚克,实际上它从曼哈顿的河滨公园一直延伸到新泽西州的南尼亚克。这真是一次从头到尾的冒险!这是一个48英里的环路,基本上花了我一整天的时间。我在河岸州立公园停下来,拍了一些非常艺术的照片。不过,这是一次短暂的停留,因为我还有很长的路要走。在非常受欢迎的小红灯塔拍照后,我开始徒步穿越乔治华盛顿大桥进入新泽西州。GW实际上很长——4760英尺!到了对岸时,我已经很累了。一小时后,我到达格林布鲁克自然保护区,这是一个沿着哈德逊海岸非常美丽的公园。令我非常惊讶的是,在接近路线终点时,你竟然穿越回了纽约!在这一点上,你已经非常接近尾声了。”; 让不必要的词=[“极端”,“字面上”,“实际上]; 让storyWords=story.split'; 让betterWords=storyWords.filterfunctionwords{ 返回不必要的单词。indexOfwords<0; }; console.logbetterWords.join“” 您可以在这里使用indexOf,使用indexOf检查单词是否在不必要的单词数组中,并将其过滤掉

let story='上周末,我骑了我一生中最漂亮的自行车。这条路线被称为9W到尼亚克,实际上它从曼哈顿的河滨公园一直延伸到新泽西州的南尼亚克。这真是一次从头到尾的冒险!这是一个48英里的环路,基本上花了我一整天的时间。我在河岸州立公园停下来,拍了一些非常艺术的照片。不过,这是一次短暂的停留,因为我还有很长的路要走。在非常受欢迎的小红灯塔拍照后,我开始徒步穿越乔治华盛顿大桥进入新泽西州。GW实际上很长——4760英尺!到了对岸时,我已经很累了。一小时后,我到达格林布鲁克自然保护区,这是一个沿着哈德逊海岸非常美丽的公园。令我非常惊讶的是,在接近路线终点时,你竟然穿越回了纽约!在这一点上,你已经非常接近尾声了。”; 让不必要的词=[“极端”,“字面上”,“实际上]; 让storyWords=story.split'; 让betterWords=storyWords.filterfunctionwords{ 返回不必要的单词。indexOfwords<0; }; console.logbetterWords.join“” 可以使用includes检查数组中是否存在元素。Array方法确定数组是否包含某个元素,并根据需要返回true或false

请注意,它是ES6的一个特性。因此,请检查浏览器兼容性或使用polyfill

不必要的词语。包括词语

完整代码:

let story='上周末,我骑了我一生中最漂亮的自行车。这条路线被称为9W到尼亚克,实际上它从曼哈顿的河滨公园一直延伸到新泽西州的南尼亚克。这真是一次从头到尾的冒险!这是一个48英里的环路,基本上花了我一整天的时间。我在河岸州立公园停下来,拍了一些非常艺术的照片。不过,这是一次短暂的停留,因为我还有很长的路要走。在非常受欢迎的小红灯塔拍照后,我开始徒步穿越乔治华盛顿大桥进入新泽西州。GW实际上很长——4760英尺!到了对岸时,我已经很累了。一小时后,我到达格林布鲁克自然保护区,这是一个沿着哈德逊海岸非常美丽的公园。令我非常惊讶的是,在接近路线终点时,你竟然穿越回了纽约!在这一点上,你已经非常接近尾声了。”; 让不必要的词=[“极端”,“字面上”,“实际上]; 让storyWords=story.split'; 让betterWords=storyWords.filterfunctionwords{ 返回!不必要的单词。包括单词; }; console.logbetterWords.join“” 可以使用includes检查数组中是否存在元素。Array方法确定数组是否包含某个元素,并根据需要返回true或false

请注意,它是ES6的一个特性。那么,请查一下兄弟 wser兼容性或使用polyfill

不必要的词语。包括词语

完整代码:

let story='上周末,我骑了我一生中最漂亮的自行车。这条路线被称为9W到尼亚克,实际上它从曼哈顿的河滨公园一直延伸到新泽西州的南尼亚克。这真是一次从头到尾的冒险!这是一个48英里的环路,基本上花了我一整天的时间。我在河岸州立公园停下来,拍了一些非常艺术的照片。不过,这是一次短暂的停留,因为我还有很长的路要走。在非常受欢迎的小红灯塔拍照后,我开始徒步穿越乔治华盛顿大桥进入新泽西州。GW实际上很长——4760英尺!到了对岸时,我已经很累了。一小时后,我到达格林布鲁克自然保护区,这是一个沿着哈德逊海岸非常美丽的公园。令我非常惊讶的是,在接近路线终点时,你竟然穿越回了纽约!在这一点上,你已经非常接近尾声了。”; 让不必要的词=[“极端”,“字面上”,“实际上]; 让storyWords=story.split'; 让betterWords=storyWords.filterfunctionwords{ 返回!不必要的单词。包括单词; };
console.logbetterWords.join“”;unnecessaryWords.indexOfwords>=0已经是布尔值…不需要ternaryunnecessaryWords.indexOfwords>=0已经是布尔值…不需要ternarynote,如果在客户端使用,则includes不具有完全的浏览器支持side@charlietfl-谢谢,我在答案中添加了信息。注意,如果使用客户端,则includes不具有完全的浏览器支持side@charlietfl-谢谢,我在答案中添加了信息。
var filtered = storyWords.filter(function(e) {
    return this.indexOf(e) < 0;
}, unnecessarywords);