Array.prototype.includes
时间: 2023-10-19 11:23:59 浏览: 124
Array.prototype.includes() 是 JavaScript 中一个数组的实例方法,用于检查数组中是否包含某个特定的元素,并返回一个布尔值。如果数组中包含该元素,返回 true;否则,返回 false。
该方法有一个参数,即要检查的元素。如果数组中包含该元素,则返回 true;否则,返回 false。
例如,假设有一个数组 arr = [1, 2, 3, 4, 5],我们可以使用 includes() 方法来检查数组中是否包含数字 3:
```
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(3)); // true
```
如果要检查的元素在数组中不存在,则返回 false:
```
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(6)); // false
```
需要注意的是,该方法是 ES2016 引入的新特性,因此在一些旧版本的浏览器中可能不被支持。如果需要在旧版本的浏览器中使用该方法,可以使用 polyfill 或者其他替代方案来实现。
相关问题
js中 给Array.prototype添加sum方法,按回所有的数组元素的和。 添加unique()方法,完成数组的去重。
给Array.prototype添加sum方法:
```javascript
Array.prototype.sum = function() {
return this.reduce((acc, cur) => acc + cur, 0);
}
```
给Array.prototype添加unique方法:
```javascript
Array.prototype.unique = function() {
return Array.from(new Set(this));
}
```
或者
```javascript
Array.prototype.unique = function() {
let arr = [];
for (let i = 0; i < this.length; i++) {
if (!arr.includes(this[i])) {
arr.push(this[i]);
}
}
return arr;
}
```
和includes方法识别有什么区别
`Array.prototype.includes()` 方法和 `Array.prototype.indexOf()` 方法都可以用来判断一个元素是否存在于数组中,但是它们之间有几个区别:
1. `Array.prototype.includes()` 方法是 ES6 引入的新方法,而 `Array.prototype.indexOf()` 方法是 ES5 中就已经存在的方法。
2. `Array.prototype.includes()` 方法返回一个布尔值,表示元素是否存在于数组中,而 `Array.prototype.indexOf()` 方法返回一个数值,表示元素在数组中的下标,如果不存在则返回 -1。
3. `Array.prototype.includes()` 方法可以判断 NaN 是否存在于数组中,而 `Array.prototype.indexOf()` 方法不能准确地判断 NaN 是否在数组中。
4. `Array.prototype.includes()` 方法使用的是严格相等运算符(===)来比较元素和数组中的每个元素,而 `Array.prototype.indexOf()` 方法使用的是松散相等运算符(==)来比较元素和数组中的每个元素。
因此,如果需要判断一个元素是否存在于数组中,且不需要知道该元素在数组中的下标,可以使用 `Array.prototype.includes()` 方法;如果需要知道该元素在数组中的下标,或者需要判断 NaN 是否存在于数组中,可以使用 `Array.prototype.indexOf()` 方法。