Javascript 预期未定义为等于';计算机';
我正在在线学习ES 6,我有一个测试: 实现findLargestString函数,该函数只有一个参数 字符串(字符串数组),它将设置最大的字符串 在最长字符串顶部定义的变量 作为字符串参数传入的字符串数组的 开始时,我有一个方法:Javascript 预期未定义为等于';计算机';,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在在线学习ES 6,我有一个测试: 实现findLargestString函数,该函数只有一个参数 字符串(字符串数组),它将设置最大的字符串 在最长字符串顶部定义的变量 作为字符串参数传入的字符串数组的 开始时,我有一个方法: let largestString; function findLargestString(strings) { // set largestString to point to the // longest string found in th
let largestString;
function findLargestString(strings) {
// set largestString to point to the
// longest string found in the strings array passed in
}
所以我尝试:
let largestString;
function findLargestString(strings) {
let largestString = '';
strings.forEach((string) => {
if (string.length > largestString.length) {
largestString = string;
}
});
return largestString;
}
但是这个返回错误:
largestString should be set to the largest string passed in
Expected undefined to equal 'computers'.
我该怎么做呢?使用函数的返回值,看看“let”是如何工作的
let largestString = findLargestString(strings);
使用函数的返回值,看看“let”是如何工作的
let largestString = findLargestString(strings);
你的代码对我来说似乎很好
让最大的字符串;
函数findLargestString(字符串){
让最大字符串=“”;
strings.forEach((string)=>{
if(string.length>largestString.length){
最大字符串=字符串;
}
});
返回最大的字符串;
}
var arr=新数组(“”,'aa','test')
log(findLargestString(arr))代码>您的代码对我来说似乎运行良好
让最大的字符串;
函数findLargestString(字符串){
让最大字符串=“”;
strings.forEach((string)=>{
if(string.length>largestString.length){
最大字符串=字符串;
}
});
返回最大的字符串;
}
var arr=新数组(“”,'aa','test')
log(findLargestString(arr))
您已在函数中使用let
声明了largestString
。从该行中删除let
关键字。另外,结尾的返回值是不必要的。我尝试了你的代码,没有错误,这里是“Implement[a]函数,它将设置顶部定义的最大字符串变量…”-哎哟。这是一种可怕的做法。您做了正确的事情,并使用了返回值。当然,这不适用于有缺陷的测试。您已在函数中使用let
声明了largestString
。从该行中删除let
关键字。另外,结尾的返回值是不必要的。我尝试了你的代码,没有错误,这里是“Implement[a]函数,它将设置顶部定义的最大字符串变量…”-哎哟。这是一种可怕的做法。您做了正确的事情,并使用了返回值。当然,这不适用于有缺陷的测试。该人员正在向在线“评分”系统提交代码。系统显然希望将相对全局的最大字符串设置为运行该功能的副作用。此人正在将代码提交给在线“评分”系统。系统显然希望将相对全局的最大字符串设置为运行函数的副作用。