Javascript根据id获取数组对象

在业务中,列表页跳转详情页时,经常会将Id值传入,然后再根据id值异步获取数据。

假设有服务端的json数据: <注意,这里的data是指已经从后端获取的json, 而非后端原始的文件>

1 let data = [
2   {id: 1, title: 'React'},
3   {id: 2, title: 'Vue'},
4   {id: 3, title: 'Angular'},
5   {id: 4, title: 'Django'},
6   {id: 5, title: 'Laravel'}
7 ]

在前端,根据id,获取详情

 1 getDetail(_id) {
 2   let result = data.find((item) => {
 3     return item.id == _id
 4   })
 5   console.log(result)
 6 }
 7 
 8 /*
 9     _id是列表页传进来的id值, 注意:使用==, 如使用===必须左右值的类型相同
10     对比item.id 是否等于_id, 如相等,则返回。
11 */

延伸:数组过滤方法还有filter,for循环,forEach

filter遍历整个数组,可以返回多个结果.

而find找到的第一个立即返回,不会继续往下遍历。