gpt4 book ai didi

reactjs - 使用 find 与 includes 有什么区别?

转载 作者:行者123 更新时间:2023-12-05 01:12:15 26 4
gpt4 key购买 nike

我正在尝试创建一个具有以下功能的名为 addTrack 的方法:

  • 接受轨道参数
  • 使用轨道的 id 属性检查当前歌曲处于播放列表轨道状态
  • 如果 id 是新的,则将歌曲添加到播放列表的末尾。

  • 设置播放列表的新状态。

如果我使用代码 #1 而不是代码 #2 会有什么区别?

PlaylistTracks 在构造函数中定义如下:

playlistTracks: [{ name: 'name1', artist: 'artist1', album: 'album1', id: 1 },
{ name: 'name2', artist: 'artist2', album: 'album2', id: 2 },
]

代码 #1

addTrack(track){
if (this.state.playlistTracks.includes(this.props.track.id)) {return;}
else {this.state.playlistTracks.push(track);
this.setState({playlistTracks:this.state.playlistTracks});
}

}

代码 #2

addTrack(track) {
if (this.state.playlistTracks.find(savedTrack => savedTrack.id===track.id) {return;}
else {return this.state.playlistTracks.push(track);}
this.setState(playlistTracks:this.state.playlistTracks)}

最佳答案

array.includes 只会返回 true 或 false 如果值存在或不存在

array.find 会为你找到数组中的特定项

例如

[1,2,3].includes(1) // returns true
[1,2,3].includes(4) // returns false

[1,2,3].find(i => i === 1) // returns 1
[1,2,3].find(i => i === 5) // returns undefined

关于reactjs - 使用 find 与 includes 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62305107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com