JavaScript中filter函数的详细介绍

2025-10-27
网站建设限时活动促销

相信学习过JavaScript的vue的小伙伴们都知道filter函数,但是又有很多的小伙伴对filter也是不知所以然,知道的了可能也是模棱两可的,那我们今天就给大家详细介绍下JavaScript中filter函数!

看到示例中网格组件的时候,被一段嵌套代码搞的晕头转向,多方求助(segmentful提问)之后才将将理解,特此记录,以备后续查询:

查看全部代码点击此处

部分代码片段:

data = data.filter(function (row) {
return Object.keys(row).some(function (key) {
return String(row[key]).toLowerCase().
indexOf(filterKey) > -1;
});
});

data = [
{ name: 'Chuck Norris', power: Infinity },
{ name: 'Bruce Lee', power: 9000 },
{ name: 'Jackie Chan', power: 7000},
{ name: 'Jet Li', power: 8000 }
]

注:在这里filterKey表示的是在input中输入的字符串,这里假设输入ck

这里的row表示的是data[i],以第一行为例执行代码,row为{ name: 'Chuck Norris', power: Infinity },那么Object.keys(row) = ['name', 'power'], key表示name和power。首先是name,row['name'] = 'Chuck Norris', 这个字符串中包含字符串'ck',所以返回true,不需要执行power,那么row即data[0]返回到新的数组,继续遍历下面的数据。如果row['name']不包括此字符串,那么需要遍历row['power'],如果都为false,不返回row,继续遍历。

整段代码涉及到vue的数据绑定,但是由于我还处于懵懂的状态就不记录了。

立即学习“Java免费学习笔记(深入)”;

一只前端小白,如果您发现本文有什么错误或者理解不到位的地方,希望不吝赐教。

最近在正在学习vue,看到示例中网格组件的时候,被一段嵌套代码搞的晕头转向,多方求助(segmentful提问)之后才将将理解,特此记录,以备后续查询:

查看全部代码点击此处

部分代码片段:

data = data.filter(function (row) { return Object.keys(row).some(function (key) { return String(row[key]).toLowerCase(). indexOf(filterKey) > -1; });});data = [ { name: 'Chuck Norris', power: Infinity }, { name: 'Bruce Lee', power: 9000 }, { name: 'Jackie Chan', power: 7000}, { name: 'Jet Li', power: 8000 }]

注:在这里filterKey表示的是在input中输入的字符串,这里假设输入ck

这里的row表示的是data[i],以第一行为例执行代码,row为{ name: 'Chuck Norris', power: Infinity },那么Object.keys(row) = ['name', 'power'], key表示name和power。首先是name,row['name'] = 'Chuck Norris', 这个字符串中包含字符串'ck',所以返回true,不需要执行power,那么row即data[0]返回到新的数组,继续遍历下面的数据。如果row['name']不包括此字符串,那么需要遍历row['power'],如果都为false,不返回row,继续遍历。

整段代码涉及到vue的数据绑定,但是由于我还处于懵懂的状态就不记录了。

总结:

本文通过实例代码详细介绍了关于JavaScript中filter函数,相信小伙伴们对此也有了进一步的了解,希望对你的工作有所帮助!

相关推荐:

ajax的简单应用和filter的编写方法

CSS3的filter属性详细介绍

servlet与filter的url-pattern设置方式及映射规则

标签: filter函数

本文地址:https://www.lifejia.cn/news/210060.html

免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:cloudinto#qq.com(把#换成@)