我对javascript中的相对搜索很困惑例如
let array = [{name:'ram'},{name:'kumar ra'},{name:'nani'}]
如果我搜索ra那么数组应该类似于[{name:'ram'},{name:'kumar ra'}]
类似于 mysql Like 语句。但我不知道如何在 javascript 中执行它..
提前致谢..
数组有一个filter
(Array.prototype.filter)方法,它的行为非常像一个where
子句。它接受一个谓词并返回一个包含满足该谓词的元素的新数组。
const array = [{
name: 'ram'
}, {
name: 'kumar ra'
}, {
name: 'nani'
}];
const filtered = array.filter(e => e.name.match(/ra/));
console.log(filtered);
在谓词本身中,我们使用String
's match
( String.prototype.match ) 方法根据正则表达式测试每个名称。这在概念上类似于like
SQL 中的表达式。
该filter
方法遍历数组并对其每个元素调用谓词。我e
在谓词内部命名了这个元素。当该filter
方法调用谓词时,它将当前元素作为第一个参数传递,从而将其绑定到e
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句