#javascript #arrays #json #reactjs #object
Вопрос:
Пожалуйста, помогите мне. все, что я хочу, это показать <div className="songs-list-header-col">Album</div>
только тогда, когда массив треков включает artist
свойство в качестве объекта. У меня есть несколько сценариев, в которых художник не является объектом, который я не хочу показывать <div>
. что мне делать?
tracks [
0:{
album: {id: 1, album_name: "Fearless (Taylor's Version)"}
artist: {id: 1, artist_name: "Taylor Swift"}
genre: "POP"
id: 1
time: "00:03:49"
track_name: "Love Story"
},
1: {
album: {id: 1, album_name: "Fearless (Taylor's Version)"}
artist: {id: 1, artist_name: "Taylor Swift"}
genre: "POP"
id: 2
time: "00:03:40"
track_name: "You Belong With Me"
},
2: {
album: {id: 2, album_name: "Divide"}
artist: {id: 2, artist_name: "Ed Sheeran"}
genre: "POP"
id: 4
time: "00:04:23"
track_name: "Perfect"
}
]
Я знаю, что карта — это не решение, но я попробовал, она дает решение, но так же, как работает карта, она печатает div 3 раза. но все, что я хочу, это проверить, является ли artist
это объектом или нет. если это объект печати div.
{
tracks.map((track) => {
return (
typeof track.artist === 'object' amp;amp;
<div className="songs-list-header-col">Album</div>
)
})
}
а также я не могу напрямую проверить, как tracks[0].artist
это выдает ошибку типа. что мне делать?
Ответ №1:
Вы можете сделать
tracks.filter(track => typeof track.artist === 'object')
.map(track => <div className="songs-list-header-col">Album</div>)
Комментарии:
1. Я попробовал, но это дает ошибку ссылки: объект не определен.
2. Теперь я исправил этот пример
3. Извините за ошибку.