Slide 44
Slide 44 text
問題のコード
44
computed: {
targetAreaRegion () {
return this.allRegions.find((region) =>
region.prefectures.some((pref) =>
pref.areas.some((area) =>
Number(area.id) === Number(this.targetArea)
)
)
)
}
}
allRegions = [{
id: 1,
name: '北海道・東北',
prefectures: [{
id: 1,
name: '北海道',
areas: [{
id: 1,
name: '札幌市'
}, ...],
}, ...]
}, ...]
・allRegionsはregion->prefecture->areaという階層構造になっていて、階層構造を上か
らiterateしていき、targetArea(例 札幌市)が属するregion(例 北海道・東北地方)を探す。
・areaは全部で1600個程あるので、targetAreaが配列の後ろの方にある場合は探すのに
時間がかかる。
・computedプロパティでキャッシュしてるので大丈夫だと思っていたが。。。