主要区别在于这些函数的参数: Array.prototype.indexOf() 需要一个 值 作为第一个参数。这使得在 原始类型(如字符串、数字或布尔值)数组中查找索引成为一个不错的选择。 Array.prototype.findIndex() 期望回调 作为第一个参数。如果您需要具有非原始类型(例如对象)的数组中的索引,或者您的查找条件比值更复杂,请使用此选项。
如果查询的数组格式简单,两者区别不大,如下: indexOf:找出第一个符合条件的数组成员的索引号 没找到会返回-1 const arr = [1, 2, 3, 4, 5, 'a'] const result = arr.indexOf('a') console.log(result); //5 findIndex:找出第一个符合条件的数组成员的索引号 没找到会返回-1 const arr = [1, ...
includes 方法仅返回 true/false 判断元素是否存在,而 indexof 会返回元素的索引。 indexof vs findIndex findIndex 需要传入一个回调函数判断元素,indexof 直接传入要判断的元素。 indexof vs lastIndexOf lastIndexOf 从字符串末尾开始搜索。 实践案例 让我们通过一个实际案例来更好地理解indexOf()方法的使用。
JavaScript 中 findIndex 与indexOf 的主要区别在于 findIndex 接受回调作为参数,而 indexOf 接受值作为参数。 这意味着 indexOf 只会在数组中查找值,而 findIndex 将让你决定如何查找索引。 下面是Array.prototype.findIndex方法与Array.prototype.indexOf方法之间差异的直观示例: ...
如果数组中有多个相同的元素,IndexOf和FindIndex都只会返回第一个匹配元素的索引。如果你需要找到所有匹配元素的索引,你需要自己实现一个循环来遍历数组并收集索引。 一、定义数组添加元素 在JavaScript中,定义数组并添加内容非常简单。以下是一个基本的示例: ...
一、find() 传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它,并且终止搜索。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 const arr = [1, "2", 3, 3, "2"] console.log(arr.find(n => typeof n === "number")) // 1 二、findIndex() 传入一个回调函数,找到数组中...
语法: arr.findIndex(callback[, thisArg]) indexOf()方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。 语法: arr.indexOf(searchElement) arr.indexOf(searchElement[, fromIndex = 0]) lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果...
find()和findIndex()方法 在es5中,如果想搜索数组,可以采用indexOf()和lastIndexOf()方法,但是它们有个局限性,只能搜索某个值,如果你想匹配某种规则,你还得自己去实现相关代码,实现起来还是非常复杂的,而es6 find()和findIndex()则用来解决这个局限性。 find()和findIndex()方法都接受两个参数: 回调函数。
Iterator 和 for...of 循环:引入了迭代器协议和 for...of 循环,使遍历数据结构变得更加简洁和灵活。 函数式编程特性:引入了许多函数式编程的特性,如箭头函数、map、filter、reduce 等,使得处理数据更加方便和高效。 数组的方法:ES6 引入了许多新的数组方法,如 find、findIndex、some、every 等,用于更方便地处理...
Object是 JavaScript 的一种 数据类型,它用于存储各种键值集合和更复杂的实体,是一组数据和功能的集合。JS中几乎所有对象都是继承自Object,Array、RegExp、Math、Map、Set都是他的子类型。 标准对象结构:{ key(字符串/Symbol) : value(任意类型), ...} ...