一、问题
有如下数组arr1,元素a、b、c,判断arr1是否包含a或b或c
var arr1=[1,2,3]
var a=4
var b=2
var c=6
二、JS数组的方法
方法 | 描述 |
连接两个或更多的数组,并返回结果。 | |
从数组的指定位置拷贝元素到数组的另一个指定位置中。 | |
返回数组的可迭代对象。 | |
检测数值元素的每个元素是否都符合条件。 | |
使用一个固定值来填充数组。 | |
检测数值元素,并返回符合条件所有元素的数组。 | |
返回符合传入测试(函数)条件的数组元素。 | |
返回符合传入测试(函数)条件的数组元素索引。 | |
数组每个元素都执行一次回调函数。 | |
通过给定的对象中创建一个数组。 | |
判断一个数组是否包含一个指定的值。 | |
搜索数组中的元素,并返回它所在的位置。 | |
判断对象是否为数组。 | |
把数组的所有元素放入一个字符串。 | |
返回数组的可迭代对象,包含原始数组的键(key)。 | |
搜索数组中的元素,并返回它最后出现的位置。 | |
通过指定函数处理数组的每个元素,并返回处理后的数组。 | |
删除数组的最后一个元素并返回删除的元素。 | |
向数组的末尾添加一个或更多元素,并返回新的长度。 | |
将数组元素计算为一个值(从左到右)。 | |
将数组元素计算为一个值(从右到左)。 | |
反转数组的元素顺序。 | |
删除并返回数组的第一个元素。 | |
选取数组的一部分,并返回一个新数组。 | |
检测数组元素中是否有元素符合指定条件。 | |
对数组的元素进行排序。 | |
从数组中添加或删除元素。 | |
把数组转换为字符串,并返回结果。 | |
向数组的开头添加一个或更多元素,并返回新的长度。 | |
返回数组对象的原始值。 |
根据描述,如下三个方法应可以实现
判断一个数组是否包含一个指定的值。 | |
搜索数组中的元素,并返回它所在的位置。 | |
搜索数组中的元素,并返回它最后出现的位置。 |
三、includes实例
let site = ['runoob', 'google', 'taobao'];
site.includes('runoob');
// true
site.includes('baidu');
// false
四、indexOf实例
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
//2
数组的索引开始位置是从 0 开始的,从头到尾地检索数组中指定元素 ,如果找到,返回索引。
如果在数组中没找到指定元素则返回 -1。
五、lastIndexOf实例
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
//2
数组的索引开始位置是从 0 开始的,从尾到头地检索数组中指定元素 ,如果找到,返回索引。
如果在数组中没找到指定元素则返回 -1。
六、实现
var arr1=[1,2,3]
var a=4
var b=2
var c=6
console.log("------------------------")
console.log(arr1.includes(a))
console.log(arr1.includes(b))
console.log(arr1.includes(c))
console.log("------------------------")
console.log(arr1.indexOf(a)!==-1)
console.log(arr1.indexOf(b)!==-1)
console.log(arr1.indexOf(c)!==-1)
console.log("------------------------")
console.log(arr1.lastIndexOf(a)!==-1)
console.log(arr1.lastIndexOf(b)!==-1)
console.log(arr1.lastIndexOf(c)!==-1)
------------------------
VM633:6 false
VM633:7 true
VM633:8 false
VM633:9 ------------------------
VM633:10 false
VM633:11 true
VM633:12 false
VM633:13 ------------------------
VM633:14 false
VM633:15 true
VM633:16 false