javascript添加和返回数组

javascript添加和返回数组,javascript,arrays,Javascript,Arrays,我正在做一个javascript练习,要求我构建一个函数,将现有客户的名称从数组中提取到队列中。函数返回一个字符串,告诉客户它们在行中的位置。 示例输出: takeANumber(katzDeliLine, "Ada"); // "Welcome, Ada. You are number 1 in line." takeANumber(katzDeliLine, "Grace"); // "Welcome, Grace. You are number 2 in line." 以下是我的尝试:

我正在做一个javascript练习,要求我构建一个函数,将现有客户的名称从数组中提取到队列中。函数返回一个字符串,告诉客户它们在行中的位置。 示例输出:

takeANumber(katzDeliLine, "Ada"); // "Welcome, Ada. You are number 1 in line."
takeANumber(katzDeliLine, "Grace"); // "Welcome, Grace. You are number 2 in line."
以下是我的尝试:

function takeANumber(katzDeli, name) {
  var katzDeliLine = []
  name = ["Ada", "Grace", "Kent"]

  for ( let i =0; i<name.length; i++){
    katzDeliLine.push(`Welcome ${name[i]}, You are ${i} in line`)

  }

  return katzDeliLine

}
函数takeANumber(katzDeli,名称){
var Katzdeline=[]
姓名=[“Ada”、“Grace”、“Kent”]
for(设i=0;i
函数takeANumber(katzDeli,name){
var Katzdeline=[]
姓名=[“Ada”、“Grace”、“Kent”]

对于(让i=0;i
Array.push运行到位,它不会返回新数组,因此您应该在函数外部定义队列,并将该数组传递到函数中。您不应该在函数中循环,您应该只是
push()
将一个新项目放入提供的数组中,并返回数组的
长度(减1)。

正如我所理解的,您希望将队列和名称传递给函数,该函数将返回“队列中的位置”消息


在实际代码中,您正在使用在函数中声明的数组重写函数的
name
参数。您应该为它们使用不同的变量名

您可以使用
Array.proptotype.forEach()
方法循环
names
数组并提取正确的数组

我不知道我是否正确理解了您的需求,您希望获取数组中给定
名称
值的索引,并从输出数组中将其打印为新的
字符串

演示:

这就是你的代码:

函数takeANumber(名称){
变量名称=[“Ada”、“Grace”、“Kent”];
var Katzdeline=[];
var指数=0;
name.forEach(函数(项、键){
push('Welcome'+item+',您是'+(key+1)+'行中');
如果(项目===名称){
索引=键;
}
});
返回katzdeline[索引];
}
console.log(takeANumber(“Ada”));

日志(takeANumber(“Grace”));
您的函数不使用这两个参数中的任何一个。它们是干什么用的?说明中说您应该从队列中提取名称。您正在创建一个新数组,而不是从任何内容中提取任何内容。这与练习有什么关系?忽略“从数组中提取现有客户的名称”部分,您可能正在查找g表示
takeANumber=(line,name)=>`Welcome,${name}。您是第${line.push(name)}行中的数字。`
。您可以指定“从数组中提取现有客户的名称”吗?
function takeANumber(katzDeli, name) {
  var katzDeliLine = []
  names = ["Ada", "Grace", "Kent"]

  for ( let i =0; i<names.length; i++){
    if(names[i] == name) {
        return `Welcome ${name[i]}, You are ${i} in line`;
    }
  }
  return "You are not in our system";
}
let someQueue = ['Ada', 'Grace', 'Kent'];
function getPositionInQueue(queue, name) {
  let position = queue.indexOf(name);
  return (++position) ? `Welcome ${name}. You are ${position} in line.` : `You are not in line`;
}

getPositionInQueue(someQueue, 'Ada'); // "Welcome, Ada. You are number 1 in line."