javascript - 不能在 js 中使用 string.match

标签 javascript

我有以下脚本,我需要返回以下结果:

{
      text: 'i love apples'
    }, {
      text: 'i eat my apple'
    }, {
      text: 'no apples on the table'
    }

使用以下脚本我得到一个错误。

我做错了什么,如何解决(不使用 .match 的另一种解决方案也可以)?

注意:搜索值可能不同,因此脚本应该是可重用的。

let data = [{
  text: 'i love apples'
}, {
  text: 'i eat my apple'
}, {
  text: 'no apples on the table'
},{
  text: 'i love oranges'
}];
let search = 'apple'

let filter = data.filter(item=>{ return item.match(search)})
console.log(filter)

最佳答案

使用includes相反,并确保在迭代中引用该属性。

let data = [{
  text: 'i love apples'
}, {
  text: 'i eat my apple'
}, {
  text: 'no apples on the table'
}, {
  text: 'i love oranges'
}];
let search = 'apple';

let filter = data.filter(item => item.text.includes(search))
console.log(filter)

关于javascript - 不能在 js 中使用 string.match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46308065/

相关文章:

Javascript 循环的异步行为

javascript - 如何使用 JavaScripts 按中心对齐 2 张图像

javascript - 使用javascript函数激活灯箱让弹出窗口在照片库上工作

javascript - 是否可以使用 Meteor 在客户端中列出 SimpleSchema 模式的 allowedValues?

javascript - 如何设置与外部 API 的 websocket?

javascript - 两个元素上的 Jquery mouseleave 事件

javascript - ChartJS - 渐变颜色重叠

javascript - 对所有类类型的 jQuery 选择器测试

javascript - 使用原型(prototype)从对象内部调用对象上的函数

javascript - 用父实例调用父类中的子方法类