javascript - .filter 遍历数组

标签 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 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(' '));

我正在尝试从 storyWords(story) 数组中取出不必要的单词。就像现在一样,它会删除不必要的单词中的第一个元素,但我无法让它完成所有三个。感谢您的帮助!

最佳答案

您可以使用includes 来检查元素是否存在于数组中。数组 includes方法确定数组是否包含某个元素,并根据需要返回 true 或 false。

请注意,这是一个 ES6 功能。因此,请检查浏览器兼容性或使用 polyfill。

unnecessaryWords.includes(words);

完整代码:

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 !unnecessaryWords.includes(words);
});

console.log(betterWords.join(' '));

关于javascript - .filter 遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45173566/

相关文章:

php - Json编码获取重复数据

C# 从 QueryString 反序列化复杂对象

java - 如何在迭代过程中从数组列表中删除对象?

java eclipse迭代器调试器问题

javascript - 使用异步回调在函数之间传递 jsondata

javascript - JQuery UI slider 显示但在第一次单击后不响应事件

javascript - 如何用按钮排列下拉菜单的内容 - bootstrap

javascript - 在没有 ListView 的情况下在 react native 中处理数组

Python,使用多处理进一步加速cython函数

java - 使用 Iterator.next() 避免 ConcurrentModificationException