前提・実現したいこと
javascript(vue.js)で、とある配列の中のデータを取得したいです。
お詳しい方、ご教示お願いできませんでしょうか。
該当のソースコード
res.images.position
が最小値のimage_path
を取得したいです。
vue
1<template> 2<!-- res[]の中にはid,images[]が存在する。 --> 3<!-- images[]の中のpositionが最小値のimage_pathを取り出したい。 --> 4<div v-for="r in res" :key="res.id"> 5 {{ r.images[Math.min(Number(r.images.position))].image_path }} 6 <!-- 期待する結果: "https://hoge.png" --> 7 <!-- 実際の結果: Cannot read property 'image_path' of undefined --> 8 <hr> 9</div> 10</template> 11 12<script> 13export default { 14data() { 15 return { 16 res: [ 17 { 18 id: 1, 19 images: [ 20 { 21 position: 0, 22 image_path: "https://hoge.png" //positionが最小値なので、これを取り出したい 23 }, 24 { 25 position: 1, 26 image_path: "https://fuga.png" 27 }, 28 ], 29 }, 30 { 31 id: 2, 32 images: [ 33 { 34 position: 5, 35 image_path: "https://piyo.png" //positionが最小値なので、これを取り出したい 36 }, 37 ], 38 }, 39 ] 40 } 41} 42methods: { 43 getImagePathByMinPosition() { 44 // 作成すべき? 45 }, 46</script>
上記で試してみたのですがCannot read property 'image_path' of undefinedエラーになってしまい、思う結果が得られませんでした。
methodを定義すべきか(作成しなくて済むものか、作成しないと叶わないのか)も、勘所がわからず...
申し訳ないのですが、お詳しい方、ご教示願えませんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/10 11:25
2021/05/11 00:40
2021/05/13 23:47