2017-01-27 2 views
0

で、私はこのコードを持っている:可視性変数はJavascriptを

let notificationList = angular.fromJson(response.data); 
console.log(notificationList); /**FIRST PRINT**/ 
let numberOfMenuItems = notificationList.numberOfMenuItems; 
console.log(" I have "+numberOfMenuItems+" Items"); /**SECOND PRINT**/ 
for(var i = 1; i <= numberOfMenuItems; i++){ 
    console.log(notificationList); /**THIRD PRINT**/ 
    let menuItemName = notificationList.('menuItemName'+i); 
    console.log(menuItemName); 
    let quantity = notificationList.('quantity'+i); 
    console.log(quantity); 
} 

をしかし、私は私のコードを実行すると、最初の印刷は私を言う:

{ 
    "numberOfMenuItems"="1", 
    "menuItemName1"="string1", 
    "quantity1"="2", 
} 

SECOND PRINTが私を言う:

I have 1 Items 

正しいです! THIRD PRINTは私を言う:

notificationList [Object object] 

、その後menuItemNameと量が定義されていない、私はそれに入力したとき..私はcycle..but前NOTIFICATIONLISTの何かを変更しないコンソールは私に言うので、NOTIFICATIONLISTが変更と思われます以前とは違うものがあります。 私は何が間違っていますか?私は誰かが私を助けることを願っています事前

答えて

0

でのおかげでこれらの2行は間違っている:

let menuItemName = notificationList.('menuItemName'+i); 
let quantity = notificationList.('quantity'+i); 

は、それらを置き換えます

let menuItemName = notificationList['menuItemName'+i]; 
let quantity = notificationList['quantity'+i]; 

をどのようにあなたはnotificationListのように見えるのでしょうか?

+0

ありがとうございます!しかし、なぜこれも動作しますか?: let numberOfMenuItems = notificationList.numberOfMenuItems; – Catechacha

+0

私はこの質問を受け取りませんが、あなたの間違った数量とitemNameの割り当てに構文エラーがあります。 jsでオブジェクトのプロパティにアクセスするには、あなたがしたように、 '' 'object(propertyName)' ''ではなく '' 'object [propertyName]' '' 'を使う必要があります。 – Dario