首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按我的类型筛选对象数组

按我的类型筛选对象数组
EN

Stack Overflow用户
提问于 2019-08-14 03:58:11
回答 3查看 48关注 0票数 1

我试图让它工作,这样当我只包含部分搜索字符串时,它就会返回对象。现在,它只在val === 'Brady'的情况下起作用,我希望它能在val === 'B'val === 'Ba'等情况下工作。

代码语言:javascript
复制
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)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-14 04:01:43

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

includes()方法确定是否可以在另一个字符串中找到一个字符串,并酌情返回true或false。

代码语言:javascript
复制
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)

票数 1
EN

Stack Overflow用户

发布于 2019-08-14 04:01:27

如果你想从逻辑开始-你可以尝试:

代码语言:javascript
复制
const filteredData = data.filter(data=>
 Object.values(data).some(val=> val.startWith(<your input value here>))
)
票数 0
EN

Stack Overflow用户

发布于 2019-08-14 04:01:30

可以使用String include()方法

代码语言:javascript
复制
const filteredData = data.filter(data=>
  Object.values(data).some(val=> val.includes("B") );
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57487991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档