#javascript #typescript
#javascript #typescript
Вопрос:
У меня есть такой объект в typescript
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"
}
]
}
Мне нужно вытолкнуть все значения, которые не найдены в строке, поиск выполняется в фотографиях.фотографии.заголовок.
Вот пример, допустим, у меня есть такая строка
const searchText = 'sun';
Мне нужно просмотреть внутренние фотографии.photos.title и удалите все фотографии.фотографии, которые не содержат части этого слова.Мои новые фотографии должны выглядеть так
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"
}
]
}
Вы увидите, что элемент all remaining photos оставлен, потому что в названии у них есть часть слова sun
Я даже не знаю, с чего начать, я знаю, что могу найти, но мне нужно искать только часть слова, а не все слово целиком? Это может быть не просто последний член массива, массив намного больше : (
Ответ №1:
Вы можете использовать filter()
on photos.photos
и проверить, title
содержит ли 'sun'
он using includes()
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" } ] }
let str = "sun"
photos.photos = photos.photos.filter(x => x.title.includes(str))
console.log(photos)