2017-08-02 59 views
0

我有點新來的JavaScript,並遇到以下情況: 有一些產品必須進入列表並計算。我想讓這個列表成爲一個全球陣列,可以在整個站點上使用。產品本身將是具有名稱,類型,價格等屬性的對象。javascript如何從充滿對象的數組中獲取對象值?

現在的問題是,我有一個這樣的數組:

[{name: name, type: type, price: price}{name: name, type: type, price: price}...] 

用戶將能夠爲自己喜歡添加這些對象之多。 現在我找不到如何能夠列出所有選定的名稱。我看到人們打印出完整的數組和特定於對象的屬性,但我無法將它們組合在一起。

我是工作實習生,下週沒有人可以幫助我,因爲代碼是工作的,我不允許共享它的一行。感謝您的幫助! ^^」

+2

歡迎來到SO--你有什麼試過的?如果遇到問題,您至少應該表現出一些努力並尋求幫助,這不是代碼編寫服務 –

+0

對不起@DarrenSweeney,我是全新的,在論壇上從未問過任何問題..^^「我會記住我的未來問題 – aha

回答

1

@UlysseBN's answer是好的,如果你正在使用的ECMAScript 6標準,但如果沒有,下面是使用Array#forEach()規範的ECMAScript 5做法:

myArray.forEach(function (item, index, myArray) { 
    console.log(item.name + ' costs ' + item.price) 
}) 
+0

我不知道這是ES6,謝謝:) –

+1

@UlysseBN [最初的定義是在ES6標準](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of#Specifications) –

+0

謝謝,正是我需要的!! :) – aha

2

您可以通過JavaScript的迭代一個數組,例如用for...of循環:

for (const item of myArray) { 
    /* do stuff with `item` */ 
    console.log(item.name + ' costs ' + item.price) 
} 
+1

哎呀,我沒有看到你更新的答案 –

0

這不是100%清楚你問什麼,但看這有助於:

var data = [ 
 
    {name: "apple", type: "fruit", price: 5}, 
 
    {name: "banana", type: "fruit", price: 4} 
 
]; 
 

 
console.log("The first object in the array is an " + data[0].name);

0

你可以通過對象映射到他們的名字讓所有的名字

array.map(obj => obj.name) 

要顯示它,你可以建立一個長字符串,其中每(\ n):

.join("\n"); 
相關問題