解释ES6 includes(), startsWith(), endsWith()?
参考回答
ES6引入了三个非常实用的字符串和数组方法:includes()、startsWith() 和 endsWith(),它们分别用于判断字符串或数组是否包含某个元素或某个模式。这些方法非常简洁且易于使用。
includes():用来判断一个字符串或数组是否包含某个指定的值。- 用法:
str.includes(searchString[, position])或arr.includes(valueToFind[, fromIndex]) - 返回值:
true或false。
- 用法:
startsWith():用来判断字符串是否以指定的子字符串开头。- 用法:
str.startsWith(searchString[, position]) - 返回值:
true或false。
- 用法:
endsWith():用来判断字符串是否以指定的子字符串结尾。- 用法:
str.endsWith(searchString[, length]) - 返回值:
true或false。
- 用法:
示例
includes()示例:// 判断字符串是否包含某个子字符串 const sentence = "JavaScript is awesome!"; console.log(sentence.includes("JavaScript")); // 输出:true console.log(sentence.includes("Python")); // 输出:false // 判断数组是否包含某个元素 const numbers = [1, 2, 3, 4, 5]; console.log(numbers.includes(3)); // 输出:true console.log(numbers.includes(6)); // 输出:falsestartsWith()示例:const sentence = "Hello, world!"; console.log(sentence.startsWith("Hello")); // 输出:true console.log(sentence.startsWith("world")); // 输出:falseendsWith()示例:const sentence = "JavaScript programming"; console.log(sentence.endsWith("programming")); // 输出:true console.log(sentence.endsWith("Java")); // 输出:false
详细讲解与拓展
includes()includes()方法检查一个数组或字符串是否包含指定的值。如果包含则返回true,否则返回false。对于数组,它可以用来查找元素;对于字符串,它可以用来查找子字符串。- 它是区分大小写的,也就是说它会严格匹配大小写。
示例:判断数组是否包含指定值时,
includes()会从指定的索引位置开始搜索,默认从数组的第一个元素开始。const arr = [1, 2, 3, 4]; console.log(arr.includes(3)); // 输出:true console.log(arr.includes(5)); // 输出:falsestartsWith()startsWith()方法用于检查字符串是否以特定的子字符串开始。你可以传递一个第二参数position来指定开始检查的位置,默认为0,表示从字符串的第一个字符开始。- 示例:
const url = "https://example.com"; console.log(url.startsWith("https")); // 输出:true console.log(url.startsWith("http", 5)); // 输出:false,因为从索引5开始的字符串是"example.com"
endsWith()endsWith()方法用于检查字符串是否以指定的子字符串结尾。可以传递一个可选的第二参数length,它表示要考虑的字符串的长度,默认为整个字符串的长度。- 示例:
const fileName = "document.pdf"; console.log(fileName.endsWith(".pdf")); // 输出:true console.log(fileName.endsWith(".txt")); // 输出:false console.log(fileName.endsWith("doc", 8)); // 输出:true,因为它考虑的是从索引0到8的字符串
总结
includes()用于检查某个字符串或数组是否包含特定的子字符串或元素。startsWith()用于判断一个字符串是否以指定的子字符串开始。endsWith()用于判断一个字符串是否以指定的子字符串结束。
这三个方法提供了简洁、易读的方式来处理常见的字符串和数组匹配操作,有效减少了手动编写查找逻辑的需要。