Iwen's blog Iwen's blog
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
复盘
关于

Iwen

不摸鱼的哥哥
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
复盘
关于
  • Vue

  • Vue进阶

  • CSS

  • ES6

  • Base

  • Core

  • Array

    • 基础方法
    • 数组遍历总结
    • 扁平化
    • 数组去重
    • 判断数组中是否包含某个值
      • indexof()
      • includes()
      • find()
      • findIndex()
    • 伪数组转换为真数组
    • 数组中强大的reduce
    • 前端模块化
  • Object

  • String

  • Async

  • Browser

  • Http

  • 性能优化

  • 正则

  • 经典总结

  • 设计模式

  • 数据结构

  • 算法

  • 手写

  • TypeScript

  • 复盘
  • Array
Mr.w
2020-11-29

判断数组中是否包含某个值

# 判断数组中是否包含某个值

# indexof()

如果存在,则返回数组元素的下标,否则返回-1。
参数:item为查找的值,start为开始位置,lastIndexOf()则是从末尾开始查找。

var arr = [1,2,3,4];
var index = arr.indexOf(3);
console.log(index);
1
2
3

# includes()

Array.prototype.includes方法返回一个布尔值,如果存在返回true,否则返回false,与字符串的includes方法类似。
该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-4,但数组长度为3),则会重置为从0开始。

[1, 2, 3].includes(2)     // true
[1, 2, 3].includes(4)     // false
[1, 2, NaN].includes(NaN) // true

[1, 2, 3].includes(3, 3);  // false
[1, 2, 3].includes(3, -1); // true
1
2
3
4
5
6

# find()

返回数组中满足条件的第一个元素的值,如果没有,返回undefined

let a = [1, 2, 3, 4, 5, 6, 7, 8, 9];
a.find(n => n > 5) // 6
a.find(function(value, index, arr) {
  return value > 9;
}) // undefined
1
2
3
4
5

# findIndex()

返回数组中满足条件的第一个元素的下标,如果没有找到,返回-1]

[1, 5, 10, 15].findIndex(function(value, index, arr) {
  return value > 9;
}) // 2

// 这两个方法都可以接受第二个参数,用来绑定回调函数的this对象。
function f(v){
  return v > this.age;
}
let person = {name: 'John', age: 20};
[10, 12, 26, 15].find(f, person);    // 26
1
2
3
4
5
6
7
8
9
10

上面的代码中,find函数接收了第二个参数person对象,回调函数中的this对象指向person对象。

数组去重
伪数组转换为真数组

← 数组去重 伪数组转换为真数组→

最近更新
01
flex布局页面自适应滚动条问题
12-28
02
前后端分离开发请求接口跨域如何携带cookie的问题
12-28
03
怎么实现div长宽比固定width-height4比3
12-28
更多文章>
Theme by Vdoing | Copyright © 2017-2022 Iwen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式