javascript - JavaScript如何在不提供与对象值匹配的确切搜索值的情况下查找对象数组的数据
问题描述
如何创建一个函数来查找对象数组的数据,而不给出与对象值匹配的精确搜索值。
例如我的数组是:
const array =
[{
"name": "Max Messi",
"age": 21,
"gender": "male"
},
{
"name": "tina baidya",
"age": 10,
"gender": "female"
},
{
"name": "tina shrestha",
"age": 100,
"gender": "female"
}
]
现在我想要一个函数来返回其中包含name
“tina”的所有数据。
我尝试使用array.filter()
方法,但它需要准确的搜索名称。就像我需要输入tina shrestha
而不仅仅是tina
这是我尝试过的:
const array =
[{
"name": "Max Messi",
"age": 21,
"gender": "male"
},
{
"name": "Lina baidya",
"age": 10,
"gender": "female"
},
{
"name": "tina shrestha",
"age": 100,
"gender": "female"
}
]
function findData(data, id){
const found = data.filter(element => element.name === id)
return found
}
console.log(findData(array, "tina"))//logs empty array as i need to type full search value
那么如何在不输入确切值的情况下创建搜索 json 数据的函数。
解决方案
您快到了,您只需要检查名称是否包含您的字符串,而不是等于它:
const found = data.filter(element => element.name.includes(id))
推荐阅读
- python - 如何使用 python 获得像地图一样的二维泰拉瑞亚
- visual-studio - 目标框架未在“Visual Studio”中显示“.NET Core 3.1”
- javascript - 在 Laravel 中使用 AJAX GET 方法发送请求
- python - 如何从机器人框架中删除解析错误
- python - 从 python 脚本运行 C++ 可执行文件
- arrays - 在具有不同输出文件linux的多个文件上运行数组
- python - 我无法弄清楚 Python 上的类结构,我有一个“AttributeError”
- tomcat8 - Tomcat 8.5/RHEL 会话复制管理器 | 不会复制会话属性值
- regex - 在 Varnish 中带有获取参数的 BAN url
- mqtt - 如果在 CONNECT 期间客户端没有提供 clientID,VerneMQ(1.10.3 部署为容器)的行为是什么?