JS/jQuery如何打印数组对象字段?我的遍历代码无法正常运行
解决药品名称打印的问题
嘿,我来帮你快速排查问题~你的代码主要有两个关键问题,还有一个语法小疏漏,我一步步给你讲清楚:
问题1:遍历数组用错了方法
你用了for...in来遍历数组,但这个方法是用来遍历对象的属性名的,遍历数组时它会返回数组的索引(比如"0"、"1"这类字符串),而不是数组里的药品对象本身。所以你拿到的medicine其实是索引,自然找不到对应的属性啦。
问题2:字段名匹配错误
从你给出的控制台示例里,药品的名称字段是nombre,但你的代码里写的是medicine["name"],字段名不匹配,肯定拿不到值哦。
问题3:语法未闭合
你的函数代码最后缺了闭合的}和),这也会导致代码无法正常运行。
修正后的代码示例
这里给你几种常用的正确遍历方式:
方式1:用forEach(最简洁的数组遍历方法)
function process_data(medicines) { medicines.forEach(medicine => { console.log(medicine.nombre); }); }
方式2:用for...of(ES6+的数组遍历语法)
function process_data(medicines) { for (const medicine of medicines) { console.log(medicine.nombre); } }
方式3:传统for循环
function process_data(medicines) { for (let i = 0; i < medicines.length; i++) { console.log(medicines[i].nombre); } }
随便选一种替换你的代码,就能正常打印所有药品的名称啦~
内容的提问来源于stack exchange,提问作者Tonino Fernandez
相关产品推荐
相关产品推荐

