javascript - 过滤计算属性不返回所有元素
问题描述
我做了一个过滤器来显示基于所选模型类型的颜色。因此,例如,如果类型 x1 是显示,那么我将返回包含此模型的所有颜色。请参见下面的结构示例:
{
"colorName": "anthrazitbraunmetallic ",
"colourHex": {
"hex": "#2D2829"
},
"id": "58963584",
"relatedModels": [
{
"id": "48354230",
"modelName": "typex1"
},
{
"id": "48355531",
"modelName": "txpex3"
},
{
"id": "48355536",
"modelName": "typex5"
}
]
},
{
"colorName": "aquablaumetallic",
"colourHex": {
"hex": "#021546"
},
"id": "58963586",
"relatedModels": [
{
"id": "48355512",
"modelName": "typex0"
},
{
"id": "48354230",
"modelName": "typex1"
}
]
},
{
"colorName": "arenarotmetallic ",
"colourHex": {
"hex": "#450916"
},
"id": "58964875",
"relatedModels": [
{
"id": "48355531",
"modelName": "typex3"
},
{
"id": "48355536",
"modelName": "typex5"
}
]
},
{
"colorName": "argusbraunmetallic",
"colourHex": {
"hex": "#322C2C"
},
"id": "58965372",
"relatedModels": [
{
"id": "48355540",
"modelName": "typex4"
}
]
},
过滤器正在工作,我没有错误,但是我注意到了一些东西,没有返回所有寄存器。目前我正在使用无头模型,并且每个模型的颜色数量,例如对于“类型 x3”,基于系统过滤器和 excel 寄存器,但我只得到 69 我想得到 112颜色,我对所有颜色都有相同的行为,我只得到了我认为的颜色的一半左右。我想知道是否与我的过滤器有关:
colorByModel() {
var objectColours = this.colours.allCatalogColours;
const result = objectColours.filter((item) => {
return (
item.relatedModels.findIndex((m) => m.modelName == this.$route.matched[0].name) >
-1
);
});
return result;
},
我想知道是否与 findIndex 函数有关,我也尝试过使用“find”,但两者的结果相同,所以我不确定我做错了什么。
预先感谢您的帮助
解决方案
推荐阅读
- python - 如何在 C++ 中使用 TensorFlow Estimator?
- javascript - 将项目推送到空的 State 对象数组中
- assembly - 在组装过程中打开键盘 LED
- java - SortedSet 的元素类型允许计算给定值的后继值
- sql - 以正确顺序进行 SQL 查询
- php - laravel如何在item和category表的关系上显示一个category的item
- http - http 上的soap 和xml 之间的区别?
- email - 如何在特定文件夹中启动 Windows 10 Mail 应用程序?
- c# - Entity Framework Core 2 一对一关系“在一张桌子上”
- reactjs - 为什么 React Router 历史推送有时无法渲染新组件?