下面是关于JS判断某变量是否为某数组中的一个值的3种方法的详细攻略。
标准方法:Array.prototype.indexOf()
Array对象有一个原型方法indexOf(),可以用来查找数组中是否包含某个元素。使用该方法来判断某变量是否为某数组中的一个值,需要先调用indexOf()方法查找该元素在数组中的索引值。若索引值不为 -1(即查找到该元素),则说明该变量在数组中。
下面是一个示例代码:
const myArray = ['apple', 'banana', 'orange', 'grape'];
const myVariable = 'banana';
if (myArray.indexOf(myVariable) !== -1) {
console.log(`${myVariable} is in the array.`);
} else {
console.log(`${myVariable} is not in the array.`);
}
在该示例代码中,我们输入了一个包含四个元素(字符串)的数组myArray和一个需要判断的变量myVariable。通过调用myArray.indexOf(myVariable)得到该变量在数组中的索引值,若该值不为 -1则输出该变量在数组中的提示语,否则输出该变量不在数组中的提示语。运行上述代码,输出结果为:
banana is in the array.
方法二:Array.prototype.includes()
ES6 引入的includes()方法与indexOf()类似,用于判断某个元素是否在数组中存在。区别在于,includes()返回的是布尔值,即是否包含该元素。如果包含则返回true,反之则返回false。
下面是一个示例代码:
const myArray = ['apple', 'banana', 'orange', 'grape'];
const myVariable = 'banana';
if (myArray.includes(myVariable)) {
console.log(`${myVariable} is in the array.`);
} else {
console.log(`${myVariable} is not in the array.`);
}
在该示例代码中,我们同样使用了定义在Array对象原型上的includes()方法,判断给定的变量myVariable是否在数组myArray中。如果myVariable包含在myArray中,则输出提示语“banana is in the array.”,否则输出“banana is not in the array.”。运行上述代码,输出结果与方法一相同。
方法三:Array.prototype.find()
ES6 还可以使用find()方法来查找数组中是否包含某个元素。find()方法与indexOf()的作用相同,但是它返回的是该元素本身,而非其索引位置或布尔值。
下面是一个示例代码:
const myArray = ['apple', 'banana', 'orange', 'grape'];
const myVariable = 'banana';
const result = myArray.find(item => item === myVariable);
if (result) {
console.log(`${myVariable} is in the array.`);
} else {
console.log(`${myVariable} is not in the array.`);
}
在该示例代码中,我们利用定义在Array对象原型上的find()方法查找myVariable是否包含在myArray数组中。通过一个箭头函数,我们找到该函数值等于myVariable的元素item,并将其返回。如果find()函数成功找到该数组元素,则输出“banana is in the array.”;否则输出“banana is not in the array.”。运行上述代码,输出结果与方法一相同。
三种方法的各有优缺点,开发者在使用时需要根据场景选择适当的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS 判断某变量是否为某数组中的一个值的3种方法(总结) - Python技术站