【发布时间】:2020-04-30 01:49:37
【问题描述】:
我有两个数组
{
"products": [
{
"name": "Jivi",
"Hint": "45-60 IE/kg alle 5 Tage\n60 IE 1x/Woche\n30-40 IE 2 x/Woche",
"frequency": ["1", "2", "8"]
},
{
"name": "Adynovi",
"Hint": "40-50 IE/kg 2x/Woche im Abstand von 3-4 Tagen",
"frequency": ["2", "6", "7"]
},
{
"name": "Esperoct",
"Hint": "\"50 IE/kg \nalle 4 Tage\"\n",
"frequency": ["7"]
}
],
"haufigkeit" : [
{
"name": "1x / Woche",
"id": 1,
"value": 52.1428571429
},
{
"name": "2x / Woche",
"value": 104.2857142857143,
"id": 2
}
]
}
我有一个使用 Vuejs 的选择下拉列表,其中 products.name 正在呈现。
<select v-model="selectFrequency">
<option v-for="(level1,index) in dataJson.products"
v-bind:value="level1.frequency">{{level1.name}}</option>
</select>
例如,当我选择Jivi时,我想将products中的frequency中的数字与haufigkeit中的id进行比较,当它们匹配时,然后显示@987654330中的name @
这是我正在尝试的
computed:{
selectFrequency:function(){
let results= this.haufigkeit.filter(array=>array.every(item => this.products.filter(group=>group.frequency.includes(item))));
}
}
我已经尝试了两天,它给了我一个错误cannot read property 'every' of undefined。谁能建议我在哪里做错了?
【问题讨论】:
-
haufigkeit.filter(array=>array.every(item ...在 haufigkeit.filter 函数中,array是数组中的一个单独项,因此它是一个具有键名称、值和 ID 的对象。通过执行array.every,您希望数组是一个数组,但实际上它不是......
标签: javascript arrays vue.js vuejs3