2016-10-20 6 views
-1

Ich bin bereit, eine for-Schleife innerhalb des Arrays MessageContent.orderedDishes[i] auszuführen, um die Werte innerhalb dieses Arrays zu erhalten, aber das Problem ist, dass MessageContent.orderedDishes[i] innerhalb einer Variablen namens textToSend liegt Ich kann ' t ihn außerhalb der variablen bewegen, wenn der Inhalt der Variable wird nur das erste Element des ArraysJavascript - Zugriff auf Werte, die innerhalb für Schleife generiert wurden

shareWithClient(MessageContent){ 
    let textToSend = 
     '####################' + '\n\n' + 
     'Dish : ' + MessageContent.orderedDishes[i].dishName + '\n' + 
     'Category : ' +MessageContent.orderedDishes[i].categoryName+'\n' + 
     'Qty : ' + MessageContent.orderedDishes[i].qty +'\n\n'+ 
     '####################'; 

    SocialSharing.shareViaWhatsApp(textToSend).then(() => { 
     // Success! 
    }).catch(() => { 
     // Error! 
    }); 
} 

arbeiten, aber Druck in einer anderen Ansicht gesendet werden, wohl wissend, dass das Array 3 Elemente aufweist:

 var textToSend = ''; 
     for(var i=0; i<MessageContent.orderedDishes.length; i++){ 
     textToSend = '' + 
     '####################' + '\n\n' + 
     'Dish : ' + MessageContent.orderedDishes[i].dishName + '\n' + 
     'Category : ' +MessageContent.orderedDishes[i].categoryName+'\n' + 
     'Qty : ' +MessageContent.orderedDishes[i].qty +'\n\n'+ 
     '####################'; 
     } 
    console.log('textToSend'); 
+2

Wo ist die Schleife? Wenn es sich außerhalb der Funktion shareWithClient befindet, übergeben Sie einfach die geordnete Schale als Parameter und nicht das gesamte MessageContent-Objekt. – Paul

+5

Was ist das Problem genau? Wo ist die Schleife? Was ist 'ich'? –

+0

@TedHopp das Problem ist genau, dass ich irgendwie die for-Schleife innerhalb 'testToSend' laufen lassen möchte, was offensichtlich nicht möglich ist, aber gleichzeitig will ich einen Weg finden, die Werte des Arrays –

Antwort

0
shareWithClient(MessageContent) { 
    let text = ''; 
    if (MessageContent && MessageContent.orderedDishes) { 
    MessageContent.orderedDishes.forEach(buildText); 
    } 
    shareText(); 

    function buildText(dish) { 
    text += `#################### 
      Dish : ${ dish.dishName } 
      Category : ${ dish.categoryName } 
      Qty : ${ dish.qty } 

      ####################`; 
    } 

    function shareText() { 
     SocialSharing.shareViaWhatsApp(text).then(() => { 
     // Success! 
     }).catch(() => { 
     // Error! 
     }); 
    } 

}

Verwandte Themen