Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 代码错误-拆分字符串并返回每个单词的长度_Javascript_Arrays - Fatal编程技术网

Javascript 代码错误-拆分字符串并返回每个单词的长度

Javascript 代码错误-拆分字符串并返回每个单词的长度,javascript,arrays,Javascript,Arrays,我的错误是 function getWordLengths(str) { return str.split(' ').map(words => words.length) } .to.eql([0])而不是([]) .to.eql([0])而不是([])您可以使用如下内容: 函数getWordLength(str){ 返回str.length>0?str.split(“”).map(words=>words.length):[]; } console.log(getWordLengt

我的错误是

function getWordLengths(str) {

return str.split(' ').map(words => words.length)
}
.to.eql([0])而不是([])


.to.eql([0])而不是([])

您可以使用如下内容:

函数getWordLength(str){
返回str.length>0?str.split(“”).map(words=>words.length):[];
}
console.log(getWordLength(“”);
log(getWordLength(“Hi”);

log(getWordLength(“你好”)您可以使用如下内容:

函数getWordLength(str){
返回str.length>0?str.split(“”).map(words=>words.length):[];
}
console.log(getWordLength(“”);
log(getWordLength(“Hi”);
log(getWordLength(“你好”)
str.split(“”)
返回一个包含1项的数组,其中长度为0

it("returns [] when passed an empty string", () => { expect(getWordLengths("")).to.eql([0]); });
这就是为什么您的测试用例似乎失败了。当
str
为空时,您必须调整测试用例或返回空数组

"str".split(' ')  // ==>  [""].map(words => words.length) // ==> [0]

当您直接比较对象时,也有可能出现误报。因为每个对象将指向不同的引用

[]==[]
{}==={}
将返回
false
(我非常确定sure测试库将对此进行解释,因为它们递归地检查每个字段,而不是对象引用)。我宁愿在测试用例中更加明确

expect(getWordLengths('')).to.eql([0]);
str.split(“”)
返回一个包含1项的数组,其中长度为0

it("returns [] when passed an empty string", () => { expect(getWordLengths("")).to.eql([0]); });
这就是为什么您的测试用例似乎失败了。当
str
为空时,您必须调整测试用例或返回空数组

"str".split(' ')  // ==>  [""].map(words => words.length) // ==> [0]

当您直接比较对象时,也有可能出现误报。因为每个对象将指向不同的引用

[]==[]
{}==={}
将返回
false
(我非常确定sure测试库将对此进行解释,因为它们递归地检查每个字段,而不是对象引用)。我宁愿在测试用例中更加明确

expect(getWordLengths('')).to.eql([0]);

测试用例是。。。它(“当传递空字符串时返回[],()=>{expect(getWordLength(“”).to.eql([]);});它(“返回包含单个单词长度的数组”,()=>{expect(getWordLength(“wooo”)).to.eql([5]);});它(“在传递多个单词时返回长度”,()=>{expect(getWordLength(“hello world”)).to.eql([5,5]);});测试用例是。。。它(“当传递空字符串时返回[],()=>{expect(getWordLength(“”).to.eql([]);});它(“返回包含单个单词长度的数组”,()=>{expect(getWordLength(“wooo”)).to.eql([5]);});它(“在传递多个单词时返回长度”,()=>{expect(getWordLength(“hello world”)).to.eql([5,5]);});嗨,普拉纳夫,在我的代码里会是什么样子?抱歉,我不理解您好,当输入空字符串“”时,您的函数返回值[0]。您需要根据Hi Pranav更改测试用例/代码,这在我的代码中会是什么样子?抱歉,我不理解您好,当输入空字符串“”时,您的函数返回值[0]。您需要根据AssertionError:expected[0]将测试用例/代码更改为深度相等[]+expected-actual-[-0-]+[]AssertionError:expected[0]将测试用例/代码更改为深度相等[]+expected-actual-[-0-]+[]Hi Ivan在传递空字符串时,我需要返回[],那就是我所在的地方failing@user12520391(已编辑)现在,这应该可以满足您的需要了。:(AssertionError:expected[[]]与[]+expected-actual-[-[]-]+[]@user12520391抱歉,恐怕我不完全理解您的问题。您说过空字符串需要返回
[]
,我很困惑。您能提供我可以测试的示例输入吗?是的,但现在它返回数组中的数组,您看到,测试用例在顶部:)嗨,Ivan,我需要返回这个[]当传递一个空字符串时,这就是我所在的位置failing@user12520391(已编辑)现在,这应该可以满足您的需要了。:(AssertionError:expected[[]]与[]+expected-actual-[-[]-]+[]@user12520391抱歉,恐怕我不完全理解您的问题。您说过空字符串需要返回
[]
,我很困惑。您能提供我可以测试的示例输入吗?是的,但现在它返回的是数组中的数组,您可以看到,测试用例位于顶部:)