假設我取得一個 object 為 this.$store.state.v.list
this.$store.state.v.list:
[{
"value": 1,
"label": "安"
},
{
"value": 2,
"label": "補"
},
{
"value": 3,
"label": "牽"
}]
假設我使用 valueId
可以取得 value
當取得 value 為 2 則顯示「補」
this.$store.state.v.list.value[valueId].label
但以上發生錯誤
因為 object 是從 0 開始
但我要他 match 的是 value
請問能怎麼做?(能否給個思路)
https://imgur.com/BLaTvwS
你的 data 應該是長這樣吧
[{
"value": 1,
"label": "安"
},
{
"value": 2,
"label": "補"
},
{
"value": 3,
"label": "牽"
}]
用 map
加 indexOf
或直接 filter
應該可以達到你的目的
解決了
let renderLabel = ``;
let arr = this.$store.state.v.list;
Object.keys(arr).map(key => {
if (arr[key].value === valueId) {
renderLabel = arr[key].label;
}
});
return renderLabel;
只是這樣好像假設有五筆
這個 func 就會重複二十五次
可以用 filter
就好
感謝!