循环遍历对象数组 - TypeError:无法读取未定义的属性“名称”

2024-01-02

我正在尝试从以下位置创建一串艺术家姓名artists下面显示的数组(即“泰勒·斯威夫特、蕾哈娜、贾斯汀·汀布莱克”),但是artist_obj未定义,我收到错误“TypeError:无法读取未定义的属性“名称””。我该如何解决?

Code

 //Get info for each song
var artists = item["artists"],
artist = "";
var artists_count = 0;

 artists.forEach(function(item) {
      var artist_obj = item["artists_count"];
      if(artists_count !== 0) {
           artist = artist + ", " + artist_obj["name"];
      } else {
           artist += artist_obj["name"];
      }
      artists_count++;
 });

在您的代码中,您正在使用索引访问当前对象item["artists_count"]。这行不通,因为"artists_count"是一个字符串,不会传递变量值!你必须使用item[artists_count]哪个双引号来传递变量!除此之外你的代码没问题!

请注意这个论点,(即item)你正在传递给forEach是对当前对象的引用,因此不需要保留单独的变量来维护和手动迭代索引。

将您的代码更改为:

var artists = item["artists"],
artist = "";
var artists_count = 0; 

artists.forEach(function(item) {
      var artist_obj = item;
      if(artists_count !== 0) {
           artist = artist + ", " + artist_obj["name"];
      } else {
           artist += artist_obj["name"];
      }
      artists_count++;
 });

更干净的版本是:

var artists = item["artists"],
artist = "";
artists.forEach(function(item) {
     artist = artist + item["name"] + ", ";
});
artist = artist.replace(/,\s*$/, "");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环遍历对象数组 - TypeError:无法读取未定义的属性“名称” 的相关文章

  • 在动态创建的元素的onclick函数的属性中传递一个字符串

    我试图在动态创建的锚元素的 onClick 事件处理函数的参数中传递一个字符串 请参阅小提琴http jsfiddle net shmdhussain bXYe4 http jsfiddle net shmdhussain bXYe4 我无
  • 获取选定的文本框 ID jQuery

    在我的表单中 我有几个文本框 例如txtItemCode1 txtItemCode2 etc 如果我在其中任何一个上按 Enter 键 我会使用此代码执行某些操作 但我想获取选定的文本框 ID 我怎样才能做到这一点 变量 id 应该有您正在
  • 插件 gulp-babel 错误:插件/预设文件不允许导出对象,只能导出函数

    我现在尝试在我的 Ionic v1 应用程序中使用 JavaScript 2015 ES6 包 json name test version 1 0 0 dependencies ionic native deeplinks 4 18 0
  • 修复 Raphaël 路径节点上 Tipsy 工具提示的位置

    这是一个非常具体且有些复杂的问题 所以我设置了一个最小测试用例 http reveal dk 8080 revealit dk tipsytest 在阅读本文的其余部分之前 您可能应该先了解一下 我的页面显示悬停时突出显示区域的图像Raph
  • 为什么这个递归函数返回未定义?

    我正在尝试编写一个使用递归组合两个字符串的函数 我的代码如下 但我不知道为什么该函数返回未定义 特别是当我在基本情况下使用 console log 时 它不会打印未定义而是打印正确的值 var str3 function merge str
  • 是否有跨浏览器的方式在Javascript中设置style.float?

    通常 如果您需要在 JavaScript 中设置样式属性 您可以这样说 element style attribute value 虽然略有不同 但属性名称通常与 HTML 属性名称类似 尽管是驼峰式 对我来说问题是 float 属性不起作
  • 等待异步 grunt 任务完成

    我收到了 grunt 设置 其中一个新任务应该执行 grunt task run 已经存在的任务 要执行的任务是异步的 新任务应该等待异步任务完成 执行此操作的首选方法是什么 grunt 已经涵盖了这一点 你应该将你的任务声明为异步任务 并
  • 为什么浏览器允许onmousedown JS改变href?

    我很长时间以来都注意到 当您尝试复制链接位置或在 Facebook 上打开链接时 它会修改链接并将其传递给l php 例如 我可以被发送到 http www facebook com l php u http 3A 2F 2Fwww goo
  • 当rest api应用程序服务器(express)和Angulars js应用程序在不同端口上运行时出现Cors问题

    我有用node js编写的rest api应用程序 express在端口3000上运行 而angularjs应用程序在同一服务器上的端口9001上运行 从 angularjs 应用程序调用 rst api 时 出现了 cors 问题 在re
  • 为什么 console.log() polyfill 不使用 Function.apply()?

    我一直在看一些流行的console log 包装 填充 保罗 爱尔兰的 http paulirish com 2009 log a lightweight wrapper for consolelog 本阿尔曼的 http benalman
  • “$(document).ready”函数的替代方案

    我在 aspx 页面中使用 fancybox 对于灯箱 文档就绪功能在此页面中不起作用 有人告诉我编写一个新的 JavaScript 代码来加载该页面中的灯箱 包括 jQuery 检查网络选项卡 确保您没有收到 404 检查控制台是否没有收
  • Firebase 身份验证和实时应用程序数据库如何保护自身安全?

    从一般开发的角度来看 我很好奇如何保护在线资源的访问 我们使用以下 Firebase 配置参数初始化 Web 应用程序 apikey authdomain projectid databaseurl messagesenderid 服务器如
  • 如何计算一行中Flexbox项目的数量?

    网格是使用 CSS flexbox 实现的 Example http jsbin com jumosicasi edit html css js output 本示例中的行数为 4 因为我出于演示目的固定了容器宽度 但是 实际上 它可以根据
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 从json中获取所有子节点

    我有以下 json var source k 01 k 02 children k 05 k 06 children k ABC k PQR k 07 k 03 我希望能够指定 k 的值并取回所有孩子 以及孙
  • 使用严格模式编译指示时如何声明全局变量

    使用自调用函数来包装严格模式兼容代码 通常称为严格模式编译指示 被认为是一种很好的做法 function use strict Strict code here 我的问题是在这种情况下如何声明全局变量 我今天知道的三种替代方案 替代方案 1
  • YouTube 点击时禁用 HTML5

    有没有办法让我们通过javascript禁用HTML5视频的 播放 暂停 点击全屏 功能 然后在我们再次需要时将其放回去 我不知道你是否可以禁用它们 但你可以使用 css 删除它们 video webkit media controls f
  • 如何强制下载图片?

    我的页面上有一个动态生成的图像 如下所示 img src 我不想告诉我的用户右键单击图像并点击保存 而是想公开一个下载链接 单击该链接将提示下载图像 如何实现这一目标 最初我在 js 中尝试这样做 var path my image att
  • 突出显示单词并提取其附近文本的函数

    我有一个文本例如 Etiam porta semmalesuada magna mollis euismod 整数取数 ante venenatis dapibus posuere velit aliquet 埃蒂亚姆 门塔 塞姆 male
  • 拉斐尔路径交叉点不起作用

    我对拉斐尔和 pathIntersection method JSFiddle 示例 http jsfiddle net t6gWt 2 您可以看到有两条线都与曲线相交 但当我使用 pathIntersection method 有一个未解

随机推荐

  • Visual Studio 的 .vsmdi 文件有多重要?

    这是场景 用户 A 已通过 Visual Studio 2010 创建了单元测试 测试项目和单元测试源代码已签入版本控制 用户B 从版本控制中获取测试项目和单元测试源代码 然后 用户 B 打开测试项目并收到一条消息 加载 blah blah
  • 如何正确使用同步链接哈希图

    尝试通过子类化链接哈希映射来制作 lru 映射 地图通过 collections synchronized 运行 映射的所有用法都被同步块包围 如果它们全部被删除 单元测试也会失败 人们可能会认为它们是不必要的 因为地图是通过 collec
  • “react-router”不包含名为“BrowserRouter”的导出

    我正在使用 React router 版本 5 5 1 并尝试在我的index js file src index js 14 8 21 react router does not contain an export named Brows
  • 如何从 Linux 与 SDL 2 对 Windows 进行交叉编译

    我尝试在 Arch Linux 64 位 上使用 SDL 2 和 mingw w64 g 编译器编译一个简单的 C 程序 为此 我从以下位置下载了 SDL2 devel 2 0 4 mingw tar gzhere https www li
  • WPF:如何设置垂直滑块的动态数字范围?

    我目前正在处理一个 WPF MVVM 项目 该项目有一个由多个视图使用的用户控件 但具有不同的值范围 这是我需要的一个例子 正如您所看到的 控件必须根据我需要在滑块中显示的值以不同的行为做出响应 无论数字如何 这只是一个示例 问题之一是该项
  • 为什么在 C++ 中对模板施加类型约束是不好的?

    In 这个问题 https stackoverflow com questions 874298 c templates that accept only certain typesOP询问限制模板将接受哪些类 总结一下 Java 中的同等
  • 在 ListView 上对齐两个 TextView,一左一右,而不拉伸背景

    所以我有两个TextViews每行ListView 一个应该左对齐 另一个右对齐 两个都TextViews有一个圆角矩形作为背景 应该将文本包裹在里面 所以我想出了这个
  • Flutter 应用程序在发布模式下不会请求存储权限

    我正在使用permission handler包来请求我的应用程序中存储的读取权限 在调试模式下一切都工作正常 当我使用 flutter run release 运行我的代码时 但是当我将代码导出为apk时 问题就出现了不出现权限对话框 我
  • 托管调试助手发生“FatalExecutionEngineError”

    i got the following error while DEBUG a test however the same test can RUN successfully 当我在 工具 gt 选项 gt 调试 gt 常规 下打开 使用托
  • 当前时间的时区缩写?

    有没有办法可以使用时区缩写 PST EDT GMT 等 并在 WP7 上使用 C 将其转换为当前时间 我假设我可以使用像 TimeZoneInfo 这样的东西来查找偏移量 但实际上如何从缩写或完整时区名称 通过将缩写映射到全名来获取 中获取
  • 从 unsigned int (C++) 读取最左边位的最快方法?

    从 unsigned int 读取最左边位的最快方法是什么 i gt gt sizeof unsigned int CHAR BIT 1 The sizeof 乘法和减法将由任何合理的编译器在编译时计算 因此这应该成为单个右移指令 这大约是
  • 在 FrameLayout 内显示空 ListView 的 TextView

    我有一个选项卡式布局和一个使用选项卡作为视图的活动 它有三个选项卡ListViews 如果其中一个列表为空 我想显示一个简单的TextView反而 我浏览了很多帖子 但它们都只讨论一个ListView里面一个LinearLayout 我不确
  • 将单列转换为单行

    我有一个只有一列的表 如下所示 Column Name Data1 Data2 Data3 Data4 Data5 我想做的事情看起来很简单 但我无法在任何地方找到任何例子 我想要的只是将上面的列转换为单行 如下所示 Col1 Col2 C
  • 灯箱叠加层在 Chrome 上不显示,但在 Chrome Canary 上运行良好

    我在 Lightbox Overlay 上遇到了一些问题 它在 Chrome Canary Safari Firefox 和 IE 上完美显示 Chrome 版本 33 除外 截图 Lightbox 适用于除 Chrome 之外的任何浏览器
  • 将 JavaScript 生成的 SVG 转换为文件

    我正在使用 d3 js 来可视化一些数据 我希望能够获取它生成的 SVG 代码并将其存储为 svg图像文件 用于在 Inkscape Illustrator 中编辑 我尝试简单地复制 svg 标签的内容 即
  • 使用 glob 返回给定目录中的文件夹列表(不带路径)

    下面的函数将给定目录中的所有文件夹返回到多个级别 不过 我只需要一层深度 只需要目标目录中的文件夹 不需要子文件夹 该函数还返回文件夹的完整路径 我只想要文件夹名称 我确信我错过了一些简单的事情 如何修改函数以仅返回给定目录的文件夹名称 不
  • Boot2Docker:通过 LAN 连接到容器

    我在 Mac 上使用 Boot2Docker 1 3 0 到目前为止我很高兴使用它 但现在我想不是从本地计算机而是从本地网络中的另一台计算机连接到 http 容器 公开端口 8080 如果我在本地进行 我只需使用http 192 168 5
  • 在制表符中显示/隐藏或切换嵌套表子项

    我想知道你是否可以帮忙解决一些我认为非常简单的事情 使用制表符嵌套表示例 不是树 如何使子表在单击时显示 隐藏 我希望用户能够在需要类似于树示例的情况下扩展以获取更多信息 我已经看到了一些答案 但它们似乎对我不起作用 define tabl
  • 更改java符号链接

    My Windows 8命令提示符不再显示 java 我发现在C ProgramData Oracle Java javapath找到了我无法更改的错误符号链接 当我尝试更改时出现错误 Problem with Shortcut The n
  • 循环遍历对象数组 - TypeError:无法读取未定义的属性“名称”

    我正在尝试从以下位置创建一串艺术家姓名artists下面显示的数组 即 泰勒 斯威夫特 蕾哈娜 贾斯汀 汀布莱克 但是artist obj未定义 我收到错误 TypeError 无法读取未定义的属性 名称 我该如何解决 Code Get i