如何在Java脚本控制台中返回数组

问题描述

我有这个数组a =['Mona','Hebe,'hi-fa'],我想在一条消息中打印所有名称 那将返回一个消息数组 我尝试这个:

let name=[];

function names(name,word)
{
   for(let i=0;i<name.length;i++)
   {
    return `Hi,${name[i]},You are ${word} girl`;
   }
 
}

names(['Mona','hi-fa'],'amazing' ) ;

结果应该是Hi Mona你是一个了不起的女孩,Hi Hebe你是一个了不起的女孩,Hi hi-fa你是了不起的女孩

解决方法

首先,您在Hebe之后缺少引号。接下来,将event作为字符串文字,但是变量为word

let name=[];

function names(name,word)
{
   for(let i=0;i<name.length;i++)
   {
    console.log(`Hi ${name[i]}. You are an ${word} girl.`);
   }
   return name;
}

names(['Mona','Hebe','hi-fa'],'amazing' ) ;

这也可以使用Array.forEach()方法在没有for循环或没有空name数组的情况下编写,这消除了您管理循环计数器的需要,并使它更易于使用访问要迭代的项目:

function listNames(names,word,gender){
  names.forEach(function(name){ 
    console.log(`Hi ${name}. You are ${word} ${gender}.`);
  });
}

listNames(['Mona','an amazing','girl') ;
listNames(['Tony','Troy','Steve'],'a bad','boy') ;

,

您想要在一行中全部包含所有内容,因此在将其放在最后时,我将其全部合并到一个新的text变量中。我没有为第一行添加一个用于分隔句子的空格。

您忘了在Hebe之后加一个引号。在您的模板事件中使用,而不是word(这是您的函数参数)。

let name=[];

function names(name,word)
{
   let text = "";
   for(let i=0;i<name.length;i++)
   {
     if (i!==0)
         text += ' ';
     text+=(`Hi,${name[i]},You are ${word} girl.`);
   }
   
   console.log(text);
   
   return name;
}

names(['Mona','amazing' ) ;

,

更改第二个参数的事件

let name=[];

function names(name,word)
{
   for(let i=0;i<name.length;i++)
   {
    console.log(`Hi,You are ${word} girl`);
   }
   return name;
}

names(['Mona','Hebe,'amazing' ) ;