欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JavaScript中filter函数的详细介绍

程序员文章站 2022-03-03 23:38:31
...

相信学习过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: '*', 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表示namepower。首先是namerow['name'] = 'Chuck Norris', 这个字符串中包含字符串'ck',所以返回true,不需要执行power,那么rowdata[0]返回到新的数组,继续遍历下面的数据。如果row['name']不包括此字符串,那么需要遍历row['power'],如果都为false,不返回row,继续遍历。

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

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

最近在正在学习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: '*', 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表示namepower。首先是namerow['name'] = 'Chuck Norris', 这个字符串中包含字符串'ck',所以返回true,不需要执行power,那么rowdata[0]返回到新的数组,继续遍历下面的数据。如果row['name']不包括此字符串,那么需要遍历row['power'],如果都为false,不返回row,继续遍历。

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

总结:

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

相关推荐:

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

CSS3的filter属性详细介绍

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

以上就是JavaScript中filter函数的详细介绍的详细内容,更多请关注其它相关文章!