JS如何return所有同姓的人

JS How to return all the people with the same last name

该问题已被删除

你有没有具体看到测试组中哪些测试失败了?

你的方法 return 所有包含字符串 'Smith' 的数组成员将 return 一个包含 'Smith' 的项目数组,并且 return 确切的字符串。

在您对小组的第 4 次测试中,您将取回两个数组项,并且在记录它们时(即第二项将 return 作为 "Harry Smith"。

在你上次的测试中,你也会取回这两个项目,第一个项目将return编辑为"John Smith"。

您需要将过滤器的测试更改为仅针对姓氏进行测试(提示:也许拆分每个字符串并针对姓氏进行测试?- 我会让您了解如何做到这一点)。

我认为你写的最后一个测试总是会失败。我怀疑这是为了 return "John Smith" 并且您应该确保 "Smithy" 未通过测试。如果是这样,您需要进一步过滤以确保姓氏等于 "Smith" 而不是包含它。

祝你好运!

好吧,您正在使用 include,它会在完整的字符串中搜索 smith。

  1. 使用endsWith

let arr = ['Charlotte Jones', 'Rebecca Smith', 'Harry Smith', 'John Smithy', 'Smith Jones'];

    let op = arr.filter(e=> e.endsWith('Smith'))

    console.log(op);

  1. 使用正则表达式

let arr = ['Charlotte Jones', 'Rebecca Smith', 'Harry Smith', 'John Smithy', 'Smith Jones'];

let op = arr.filter(e=> /\ssmith$/ig.test(e))

console.log(op);