Javascript 在不使用全局数组的情况下编写此函数。(JS)

Javascript 在不使用全局数组的情况下编写此函数。(JS),javascript,arrays,Javascript,Arrays,我正在学习一门课程,我将使用字符串数组中的.filter返回一个数组 arr=['tim','tom','taaaaaamy']; 常数有效性误差=arr.filter(n=>n.lengtharr.filter(n=>n.lengthnames.filter(s=>s.length

我正在学习一门课程,我将使用字符串数组中的.filter返回一个数组

arr=['tim','tom','taaaaaamy'];
常数有效性误差=arr.filter(n=>n.length<10);

控制台日志(validUserNames)这应该满足您的要求:

const validUserNames = (arr) => arr.filter(n => n.length < 10); 
validUserNames(['tim','tom','taaaaaamy'])
const validUserNames=(arr)=>arr.filter(n=>n.length<10);
validUserNames(['tim'、'tom'、'taaaaaamy']))

请记住,数组中的所有值实际上都少于10个字符。

由于目标是创建一个函数“validUserNames”,该函数可用于某些字符串数组,只返回一个有效字符串数组,因此需要一个接受参数的函数,该参数是调用者希望过滤的数组

传统/经典格式声明并命名函数语句中的参数:

function validUserNames(names) {
   ...
}
在您尝试的函数样式中,使用参数是箭头函数声明的左侧

const validUserNames = (names) => { the function body };
然后在使用全局“arr”的地方使用参数“names”

如链接文档中所述,参数周围的括号不是绝对必要的(取决于参数),因此您编写的函数中添加了一个参数以代替全局参数,即:

const validUserNames=names=>names.filter(s=>s.length<10);
日志(validUserNames(['tim','tom','taaaaaaxxxxxxmy'));

log(validUserNames(['verylongname','fred','anothertoolongname','jeff'])
['tim'、'tom'、'taaaaaamy'].过滤器(