簡體   English   中英

如何使用NodeJS在沒有循環的情況下迭代對象內部的數組

[英]How to iterate array inside object without loop using NodeJS

我試圖在沒有循環的情況下迭代對象值內的數組。但我得到了未定義的值輸出。

示例.js

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

預期輸出

hari
main

我得到了輸出

undefined

為什么失敗

“數據”是您定義中的一個數組,因此這將是未定義的:

data.product_name // undefined

而您的數據在這里:

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

如何迭代和記錄

// a) Simple "for" loop
for (i = 0; i < data.length; i++) { 
  console.log(data[i].product_name);
}

// b) Array.forEach
data.forEach((product) => {
   console.log(product.product_name);
})

有許多不同的方法來迭代數組。
考慮閱讀本文以了解for/forEach/for in 循環之間差異以及瀏覽 JS 基礎知識和教程

或者,如果目標是“避免循環”

您可以將數據存儲在(嵌套)數組中,如下所示:

data = {};
data.product_names = ['hari', 'main'];

console.log(data.product_names); // Outputs ['hari', 'main']

嘗試這個:

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

我的理解是

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM