У вас неправильный синтаксис для вызова вашей функции. Это должно быть 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á
И тогда вы можете go leet и сделать это так:
const makeListFromArray = (words = []) =>
Array.isArray(words) ? words.join(', ') : words;
const list = makeListFromArray(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);
console.log(list);
Это несколько способов сделать sh это. Не используйте циклы, методы массива более мощные и составные.
А потом был TypeScript ...
const makeListFromArray = (words: string[] = []) => words.join(', ')
const list = makeListFromArray(['Olá,','sabia','que', 'ta', 'tudo', 'bem?']);
console.log(list);
С этой единственной аннотацией типа на (words: string[] = [])
, TypeScript теперь откажется создавать код, который пытается передать что-либо, кроме массива строк (или пустой массив) в makeListFromArray
.
Он также знает, что список является строкой, потому что он знает, что Array.join
возвращает строку.
Поскольку все они const
, он знает, что значение и тип списка не могут измениться нигде в коде, поэтому он знает, что list
- это строка везде.