相信学习过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的数据绑定,但是由于我还处于懵懂的状态就不记录了。
一只前端小白,如果您发现本文有什么错误或者理解不到位的地方,希望不吝赐教。
最近在正在学习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函数,相信小伙伴们对此也有了进一步的了解,希望对你的工作有所帮助!
相关推荐:
servlet与filter的url-pattern设置方式及映射规则
以上就是JavaScript中filter函数的详细介绍的详细内容,更多请关注Work网其它相关文章!