首页 > 解决方案 > 从过滤的对象数组中获取值

问题描述

我有一个对象数组,每个对象都包含一个名称属性和一个值属性

在此处输入图像描述

我想要做的是返回指定名称的值

我正在使用计算属性

computed: {
    statAlertCount() {
      var stat = this.siteStatistics.filter(item => {
        console.log(item);
        return item.name == "site_alert_count";
      });
      console.log(stat[0]);
    }
  }

这段代码返回和对象'stat',我可以安慰出来。它看起来像这样。

在此处输入图像描述

但是如果我尝试使用 stat[0].stat 访问该值,则会收到以下错误

app.js?id=f37d3d495892e39c6054:85474 [Vue warn]: Error in render: "TypeError: Cannot read property 'stat' of undefined"

标签: javascriptvue.js

解决方案


我认为您只需要返回:

computed: {
  statAlertCount() {
    var stat = this.siteStatistics.filter(item => item.name === "site_alert_count");

    return stat.length > 0 ? stat[0].stat : '';
  }
}

推荐阅读