javascript - 在我键入时过滤对象数组

标签 javascript ecmascript-6

我试图让它工作,以便在我只包含部分搜索字符串时返回对象。现在它只在 val === 'Brady' 时有效 我希望它在 val === 'B'val === 时有效'Ba'

const data = [{firstName: 'Brady',lastName: 'Smith'},{firstName: 'Jason',lastName: 'Brady'},{firstName: 'Michael',lastName: 'Bolten'}];

const filteredData = data.filter(data=>
     Object.values(data).some(val=> val === 'Brady')
)

console.log(filteredData)

最佳答案

您可以使用 includes检查字符串是否为子字符串。

The includes() method determines whether one string may be found within another string, returning true or false as appropriate.

const data = [{
  firstName: 'Brady',
  lastName: 'Smith'
}, {
  firstName: 'Jason',
  lastName: 'Brady'
}, {
  firstName: 'Michael',
  lastName: 'Bolten'
}];

const search = "Br";
const filteredData = data.filter(data =>
  Object.values(data).some(val => {
    console.log(typeof val);
    return val.includes(search);
  })
)

console.log(filteredData)

关于javascript - 在我键入时过滤对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57487991/

相关文章:

javascript - React 在使用 React.Children.map 时会自动处理键吗?

javascript - 如何重新格式化柱形图的 json 输出?

javascript - Promise 解析时 JSON 输入意外结束

javascript - ES6 捆绑 CSS 的方式?

javascript - 如何用async/await解决厄运金字塔?

javascript - "Uncaught TypeError: Cannot read property ' 将重复事件添加到数据库时克隆 ' of undefined"

javascript - 将过滤条件应用于 map 的最简洁方法

javascript - 为什么我在 react 中从受控输入切换到不受控输入

javascript - 如何根据状态ReactJS中定义的数组中的索引访问值

javascript - Vue - 将对象解构到 this(数据)