【问题标题】:Returns undefined when finding an item in an array in VUE在 VUE 中查找数组中的项目时返回 undefined
【发布时间】:2018-06-07 04:04:12
【问题描述】:

我有下面的代码,可以在数组中找到项目的详细信息,效果很好。

var findGroupId = medias.find(medias => medias.group_name === this.groupName)

我的媒体是一个数组变量。那么console.log(findGroupId)的结果如下:

但是当我执行console.log(findGroupId.group_id) 时,结果是undefined。但是当我尝试在 Using ES2015 箭头函数 下更改演示 here 并在 JavaScript Demo: Array.find() 上进行演示时,效果很好。 我错过了什么吗?

示例数组输出(从数据库中获取): PS:尽量不要使用for循环来节省一些内存和时间。

【问题讨论】:

  • 你能发布一个示例数组吗?
  • @Eddie 请查看更新,尝试仅使用固定数组值,并且有效。但是当我使用数据库中的数据库时,它不再工作了。也许我认为这是因为我的数组结果格式?
  • 也许尝试"console.log(Object.keys(findGroupId))" 并检查密钥是否为group_id 没有任何空格。
  • @DF 无显示值。
  • 但是记录 findGroupId 仍然会为您提供第一个屏幕截图的输出?

标签: javascript arrays vue.js


【解决方案1】:

箭头函数内的this 可能指的是文档而不是对象。一种选择是将this.groupName 存储在局部变量中并根据您的情况使用它。

var groupName = this.groupName;
var findGroupId = medias.find(media => media.group_name === groupName);

【讨论】:

  • 你去。就是这样。谢谢:)
  • 乐于助人:)
猜你喜欢
  • 2021-08-15
  • 2021-11-14
  • 2017-10-13
  • 2020-03-16
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
相关资源
最近更新 更多