搜索JSON数组数据 - 案例独立性



我正在使用以下语句搜索JSON数组:

var result = residentData.filter(obj => Object.values(obj).some(val => val.includes(search)));

residentData是JSON格式的数组数据。"搜索"是我要搜索的字符串。我想独立于搜索字符串的情况(上,低,混合(进行搜索。我尝试过toLowerCase(),但还没有成功。

有人可以指向正确的方向吗?谢谢!

您可以使用带有Sesitivitive选项的LocalComparer作为基础,如

'First'.localeCompare('first', { sensitivity: 'base' })); // 0 

有关LocalComparer的更多信息

感谢您指向localeCompare()的指针。我经历了MDN的解释,但是对JavaScript来说是相对较新的,我没有让它起作用。也许如果我给您更多代码详细信息,您可以向我展示如何使用localeCompare

JSON数据看起来像这样:

var residentData=[{
    "FirstName": "fname1",
    "LastName": "lname1",
    "Street": "Street1 Lane",
    "Phone": "12345",
    "MobilePhone": "45643",
    "EMail": "person1@email.com"
  },
  {
    "FirstName": "Deborah",
    "LastName": "Secondname",
    "Street": "335 Street2 Lane",
    "Phone": "1235",
    "MobilePhone": "93847",
    "EMail": "person2@email2.com"
  }]

我计划允许用户输入搜索词(var = searchword(。我想使用LocaleCompare进行该搜索Word变量并在数组中搜索字符串,无论情况如何。然后,如果在一个数组对象之一中找到字符串,它将显示所有字符串:该对象中的值对。我希望我已经足够清楚地描述了所有这些。

最新更新