gpt4 book ai didi

javascript - 创建一个接受多个字符串参数并将它们全部打印在一起的函数

转载 作者:行者123 更新时间:2023-11-28 12:52:07 25 4
gpt4 key购买 nike

我对 JavaScript 很陌生,不太了解函数工作所需的定义。

    var ShowWords = ['Olá,','sabia','que', 'ta', 'tudo', 'bem?']
for(var i=0; i<ShowWords.length; i++){
console.log(ShowWords[i]);
}

我不明白为什么上面的代码有效而下面的代码不起作用,它只给了我“未定义”

function ShowWords(pal1,pal2,pal3,pal4,pal5,pal6){
for(var i=0; i<ShowWords.length; i++){
return ShowWords[i]
}
}
console.log(ShowWords['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);

有人可以帮忙吗?

最佳答案

您的函数调用语法错误。它需要是function(args),而不是function[args]

这会起作用:

function ShowWords(words){
for(var i=0; i< words.length; i++){
return ShowWords[i]
}
}
console.log(ShowWords('Olá,','sabia','que', 'ta', 'tudo', 'bem?'));

但是您想要做的可能是这样:

function ShowWords(words){
for(var i=0; i< words.length; i++){
return ShowWords[i]
}
}
console.log(ShowWords(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']));

但你确实想这样做:

function ShowWords(words){
words.forEach(console.log)
}

ShowWords(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);

或者这个:

function makeListFromArray(words) {
return words.join(', ')
}

const list = makeListFromArray(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);

console.log(list);

然后你想要处理没有传入任何内容或传入字符串的情况,并且不抛出错误:

function makeListFromArray(words = []) {
return Array.isArray(words) ? words.join(', ') : words;
}

const list = makeListFromArray(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);

console.log(list);

const str = 'Olá'

console.log(makeListFromArray(str)) // prints Olá

然后你就可以像这样做:

const makeListFromArray = (words = []) =>
Array.isArray(words) ? words.join(', ') : words;

const list = makeListFromArray(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);

console.log(list);

这些是实现这一目标的几种方法。不要使用循环,array methods更强大且可组合。

然后,出现了 TypeScript...

const makeListFromArray = (words: string[] = []) => words.join(', ')

const list = makeListFromArray(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);

console.log(list);

通过 (words: string[] = []) 上的单一类型注释,TypeScript 现在将拒绝构建尝试传递字符串数组(或空数组)以外的任何内容的代码) 到 makeListFromArray

它还知道 list 是一个字符串,因为它知道 Array.join 返回一个字符串。

由于它们都是const,它知道列表的值和类型不能在代码中的任何地方更改,因此它知道list在任何地方都是一个字符串。

关于javascript - 创建一个接受多个字符串参数并将它们全部打印在一起的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60353172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com