Javascript 在某些属性中按分部搜索数组部分
我在typescript中有这种对象Javascript 在某些属性中按分部搜索数组部分,javascript,typescript,Javascript,Typescript,我在typescript中有这种对象 const photos = { "albumId": "1", "title": "quidem molestiae enim", "created": "1", "photos": [ { "id": "1", "
const photos =
{
"albumId": "1",
"title": "quidem molestiae enim",
"created": "1",
"photos": [
{
"id": "1",
"title": "sunset",
"url": "https://via.placeholder.com/600/92c952",
"thumbnailUrl": "https://via.placeholder.com/150/92c952"
},
{
"id": "2",
"title": "today is sunshine",
"url": "https://via.placeholder.com/600/771796",
"thumbnailUrl": "https://via.placeholder.com/150/771796"
},
{
"id": "3",
"title": "test",
"url": "https://via.placeholder.com/600/24f355",
"thumbnailUrl": "https://via.placeholder.com/150/24f355"
}
]
}
我需要推出字符串中未找到的所有值,在photos.photos.title中执行搜索。
下面是一个例子,假设我有一个这样的字符串
const searchText = 'sun';
const photos =
{
"albumId": "1",
"title": "quidem molestiae enim",
"created": "1",
"photos": [
{
"id": "1",
"title": "sunset",
"url": "https://via.placeholder.com/600/92c952",
"thumbnailUrl": "https://via.placeholder.com/150/92c952"
},
{
"id": "2",
"title": "today is sunshine",
"url": "https://via.placeholder.com/600/771796",
"thumbnailUrl": "https://via.placeholder.com/150/771796"
}
]
}
我需要搜索内部photos.photos.title并删除所有不包含该单词的photos.photos。我的ne照片应如下所示
const searchText = 'sun';
const photos =
{
"albumId": "1",
"title": "quidem molestiae enim",
"created": "1",
"photos": [
{
"id": "1",
"title": "sunset",
"url": "https://via.placeholder.com/600/92c952",
"thumbnailUrl": "https://via.placeholder.com/150/92c952"
},
{
"id": "2",
"title": "today is sunshine",
"url": "https://via.placeholder.com/600/771796",
"thumbnailUrl": "https://via.placeholder.com/150/771796"
}
]
}
您将看到剩下的所有照片都被保留了下来,因为在标题中它们有一部分是wordsun
我甚至不知道如何开始,我知道我可以找到,但我只需要搜索单词的一部分而不是整个单词?它不仅仅是数组的最后一个成员,数组要大得多:(您可以在照片上使用过滤器()
。照片并使用包含()
检查标题是否包含'sun'
const photos={“albumId”:“1”,“title”:“quidem molestiae enim”,“created”:“1”,“photos”:[{“id”:“1”,“title”:“日落”,“url”:”https://via.placeholder.com/600/92c952,“thumbnailUrl”:https://via.placeholder.com/150/92c952},{“id”:“2”,“标题”:“今天是阳光”,“url”:https://via.placeholder.com/600/771796,“thumbnailUrl”: "https://via.placeholder.com/150/771796},{“id”:“3”,“title”:“test”,“url”:https://via.placeholder.com/600/24f355,“thumbnailUrl”:https://via.placeholder.com/150/24f355" } ] }
让str=“sun”
photos.photos=photos.photos.filter(x=>x.title.includes(str))
console.log(照片)
您可以使用照片上的过滤器()
,并使用包含()
const photos={“albumId”:“1”,“title”:“quidem molestiae enim”,“created”:“1”,“photos”:[{“id”:“1”,“title”:“日落”,“url”:”https://via.placeholder.com/600/92c952,“thumbnailUrl”:https://via.placeholder.com/150/92c952},{“id”:“2”,“标题”:“今天是阳光”,“url”:https://via.placeholder.com/600/771796,“thumbnailUrl”: "https://via.placeholder.com/150/771796},{“id”:“3”,“title”:“test”,“url”:https://via.placeholder.com/600/24f355,“thumbnailUrl”:https://via.placeholder.com/150/24f355" } ] }
让str=“sun”
photos.photos=photos.photos.filter(x=>x.title.includes(str))
控制台日志(照片)