如何使用节点js迭代对象内部的数组而没有循环

时间:2019-06-17 08:35:58

标签: javascript node.js

我试图迭代对象值内部的数组而没有循环。但是我得到了不确定的值输出。

sample.js

data = [{'product_name':"hari"},{'product_name':"main"}]
console.log(data.product_name)

输出异常
哈里
玛尼

我得到了输出
未定义

3 个答案:

答案 0 :(得分:1)

为什么失败

“数据”是您定义中的数组,因此

data.product_name // undefined

这将成功

data[0].product_name // hari
data[1].product_name // main

如何迭代

// Way 1
for (i = 0; i < data.length; i++) { 
  console.log(data[i].product_name);
}

// Way 2
data.forEach((product) => {
   console.log(product.product_name);
})

有很多不同的方法可以遍历数组。考虑阅读differences between for/forEach/for in loops的内容, 并阅读JS基础知识/教程。

答案 1 :(得分:1)

尝试一下:

data = [{'product_name':"hari"},{'product_name':"main"}]
result = data.map(res=>res.product_name)
console.log(result)

答案 2 :(得分:0)

我了解的是

data.forEach((obj) => {
   console.log(obj.product_name)
})