Javascript—访问for循环内部生成的值

Javascript—访问for循环内部生成的值,javascript,promise,Javascript,Promise,我愿意在数组MessageContent.orderedishes[I]中运行for循环以获取该数组中的值,但问题是MessageContent.orderedishes[I]位于名为textToSend的变量内部我无法将其移到变量外部,因为该变量的内容将发送到另一个视图 shareWithClient(MessageContent){ let textToSend = '####################' + '\n\n' + 'Dish :

我愿意在数组
MessageContent.orderedishes[I]
中运行for循环以获取该数组中的值,但问题是
MessageContent.orderedishes[I]
位于名为
textToSend的变量内部
我无法将其移到变量外部,因为该变量的内容将发送到另一个视图

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!
    });
}
正在工作,但仅打印阵列的第一个元素,知道阵列有3个元素:

      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');
var textToSend='';
对于(var i=0;i

}

循环在哪里?如果它在shareWithClient函数之外,只需将ordered dish作为参数而不是整个MessageContent对象传入即可。到底是什么问题?循环在哪里?什么是
i
?@TedHopp问题是我想在
testToSend
内部运行for循环,这是obvi这是不可能的,但同时我愿意找到一种方法来获取ArrayID的值,您可以尝试将
textToSend
初始化为空字符串,然后运行一个循环来为
I
的每个值追加内容。试着使用
textToSend+='.###…'
而不是
textToSend='+'.
。您想追加吗到
textToSend
,而不是每次通过循环重置它。
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!
      });
  }