javascript添加和返回数组
我正在做一个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." 以下是我的尝试:
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;iArray.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."