js数组对象的includes方法
判断数组中是否有某个元素, 有就返回true, 没有就返回false
let arr= [10,20,30,40]; console.log(arr.includes(10));//true console.log(arr.includes(100));//false
只能判断简单类型的数据,对于复杂类型的数据,比如对象类型的数组,二维数组,这些是无法判断的
includes与indexof的区别
includes()返回的是布尔值,能直接判断数组中存不存在这个值,而indexof()返回的是索引
假如你只想知道某个值是否在数组中而并不关心它的索引位置,建议使用includes()。
如果你想获取一个值在数组中的位置,那么你只能使用indexof方法
关于数组api includes的注意事项
includes 可以用来判断 数组里面是否包含哪个值,(或者字符串里面是否包含某个字符串);
但是注意
对于数组里面包含的是对象(类似以下这种格式的),includes 是不能判断的,加入你用它来进行判断 那么它每次都只会返回给你一个 false;
按我个人理解
includes 判断的是完全相等(也就是 === )然而由于 对象 是一个复杂数据类型
所以每一个对象都不可能完全相等的(对象与对象之间顶多也就是 ==)
所以这个时候使用 incluedes 它每次据只会给你返回 false
[ { time: 12345, page: 2 }, { time: 12345, page: 2 } ]
当然:
如果你想要使用判断像上面数组是否包含某个对象(或者对象里面某个value值)
你完全可以使用 findindex 或者 find 等api
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论