前言
✨✨ 常用数组API的介绍
🍄 一、Array.prototype.includes()
includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true
,否则返回 false
。
语法: includes(
searchElement
, fromIndex)
searchElement
:需要查找的值。
fromIndex
(可选) :开始搜索的索引(从零开始),会转换为整数。
● 如果
fromIndex < -array.length
或者省略 fromIndex,则使用 0,这将导致整个数组被搜索。
● 如果fromIndex >= array.length
,则不会搜索数组并返回 false。
返回值: 一个布尔值
,如果在数组中找到 searchElement 值,则该值为 true
。
示例1:基本用法
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
["1", "2", "3"].includes(3); // false
示例2: fromIndex 大于等于数组长度
如果 fromIndex 大于等于数组的长度,则将直接返回 false
,且不搜索该数组。
const arr = ["a", "b", "c"];
arr.includes("c", 3); // false
arr.includes("c", 100); // false
示例3:比较对象
let arr = [
{ name: "唐僧", age: 46 },
{ name: "孙悟空", age: 505 },
{ name: "猪八戒", age: 493 },
{ name: "沙僧", age: 478 },
];
let resVal = arr.includes({ name: "猪八戒", age: 493 });
console.log("【resVal 返回值】= ", resVal); // false
数组arr中明明包含猪八戒这个对象,但返回的却是false,这是为什么呢?
这是因为JavaScript 中的 includes() 方法用于检查一个数组是否包含某个特定的元素,它并不适用于检查对象。因为 includes() 方法在比较对象时使用的是严格相等运算符( ===
),而不是按对象属性逐个匹配的方式。
⚠️
注意:!!!!!
(1)includes() 方法在比较元素时使用的是严格相等(===
)的方式。
(2)如果数组中有多个相同的元素,includes()方法只会返回第一个匹配到的元素。
说明:
includes() 方法适用于字符串和数组类型,它可以快速判断目标对象中是否包含指定的元素。
⭐️ 在字符串中:它区分大小写,如果找到完全匹配的子串,返回 true;否则返回 false。
⭐️ 在数组中:它使用严格相等(===
)来匹配元素,如果找到与搜索元素相等的元素,返回 true;否则返回 false。
🔰 总结
🎉🎉:日常使用随记~~