在业务中,列表页跳转详情页时,经常会将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找到的第一个立即返回,不会继续往下遍历。