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抱歉,恐怕我不完全理解您的问题。您说过空字符串需要返回[]
,我很困惑。您能提供我可以测试的示例输入吗?是的,但现在它返回的是数组中的数组,您可以看到,测试用例位于顶部:)