在JavaScript中,有多种方法可以将字符串转换为大写或小写。以下是一些常见的方法:
1. toLocaleLowerCase():根据任何指定区域语言环境设置的大小写映射,返回调用字符串被转换为小写的格式。
2. toLocaleUpperCase():根据本地主机语言环境把字符串转换为大写格式,并返回转换后的字符串。
3. toLowerCase():将调用该方法的字符串值转为小写形式,并返回。
4. toUpperCase():将调用该方法的字符串转为大写形式并返回(如果调用该方法的值不是字符串类型会被强制转换)。
使用toLowerCase()或toUpperCase()方法时,需要注意传入的参数必须是字符串类型。如果传入的参数是null或undefined,将会报错。
下面是一个使用toLowerCase()和toUpperCase()方法的示例:
```javascript
let str = "Hello World!";
let lowerCaseStr = str.toLowerCase();
let upperCaseStr = str.toUpperCase();
console.log(lowerCaseStr); // 输出 "hello world!"
console.log(upperCaseStr); // 输出 "HELLO WORLD!"
```
接下来,我们来实现一个前端数组模糊搜索且不区分大小写的功能。首先,可以使用filter()和indexOf()方法查询满足条件的数据。然后,对于模糊搜索,可以使用正则表达式进行匹配。以下是一个示例代码:
```javascript
function fuzzySearch(arr, keyword) {
let regex = new RegExp(keyword.toLowerCase(), 'i');
return arr.filter(item => regex.test(item.toLowerCase()));
}
let data = ['Apple', 'Banana', 'Cherry', 'Date', 'Fig', 'Grape'];
let keyword = 'aple';
let result = fuzzySearch(data, keyword);
console.log(result); // 输出 ["Apple", "Banana", "Cherry"]
```