使用 Vue JS 从数组中过滤数据的最佳方法是啥?

Posted

技术标签:

【中文标题】使用 Vue JS 从数组中过滤数据的最佳方法是啥?【英文标题】:Which is the best way to filter data from an array with Vue JS?使用 Vue JS 从数组中过滤数据的最佳方法是什么? 【发布时间】:2019-10-30 13:30:03 【问题描述】:

我正在寻找最佳做法。

我从我的 API 获得了这个产品列表:

[
    
        "id": 6,
        "name": "Pechuga de pollo",
        "category": "Chicken",
        "existencia": 100
    ,
    
        "id": 7,
        "name": "Pierna de pavo",
        "category": "Chicken",
        "existencia": 100
    ,
    
        "id": 8,
        "name": "Lonja de pescado",
        "category": "Fish",
        "existencia": 200
    ,
    
        "id": 9,
        "name": "Coca Cola",
        "category": "Soda",
        "existencia": 200
    ,
    
        "id": 10,
        "name": "Jugo de naranja",
        "category": "Juice",
        "existencia": 200
    
]

所以我需要通过值“鸡”过滤这个产品数组。

我试过 filter() 方法,效果很好。


this.chickenProducts =productList.filter(product=>product.category=="Chicken")

然后我使用带有 chickenProducts 数组的 v-for 指令来填充仅包含鸡肉产品的选择输入。

考虑到 Vue JS 中的条件,您知道另一种从数组中过滤数据以填充选择输入的方法吗? 我还在练习 Vue。

【问题讨论】:

为什么需要另一种方式? 只是想知道是否还有其他最好的方法。 最好的方法不止一种 你在哪里存储chickenProducts?你能展示更多你的代码吗? API 调用和选择,也许? 【参考方案1】:

计算过滤器数组? 对了,我记得Vue1可以在v-for中使用filterBy,但是Vue2把它去掉了。

【讨论】:

【参考方案2】:

您的实施方式有点严格。如果您想更改过滤条件怎么办?还是您的代码中有多个条件?

如果我是你,我会创建一个方法,根据传入的条件返回一个数组。我迭代了那个结果。这在维护和可扩展性方面更加直接和模块化。

【讨论】:

以上是关于使用 Vue JS 从数组中过滤数据的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中删除数组项的最佳方法是啥?

在多构建 Vue js 应用程序中定义多个配置的最佳方法是啥?

使用 Vue js 发布具有多个组件的表单的最佳方式是啥

在 Perl 中从数组中删除值的最佳方法是啥?

在 Vue 中制作表格的最佳方法是啥?

在 Spark 数据框中过滤多列的最佳方法是啥?