js找数组中元素5种方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js找数组中元素5种方式相关的知识,希望对你有一定的参考价值。
参考技术A 1.js的indexOf()方法var arr_data = [1,2,3];
arr_data.indexOf(1); //如果存在返回值的下标,不存在返回-1
2.jquery的$.inArray()方法
$.inArray(1, arr_data); //如果存在返回值的下标,不存在返回-1
3.arr.find()
数组实例的find()用于找出第一个符合条件的数组元素。它的参数是一个回调函数,所有的数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。
注意:find()对于空数组,函数是不会执行的。find()并没有改变数组的原始值
4.arr.findIndex()返回第一个符合条件的数组元素的位置,如果所有的元素都不符合条件,则返回-1.
注意:find(),findIndex()弥补了index的不足:(即判断NAN)
[NaN].indexOf(NaN) // -1
[NaN].findIndex(y => Object.is(NaN, y))
5.最常见的就是 for和if 的组合
注意: 这里forEach return false 是阻止不了循环的行为;
js过滤数组中都为空的对象几种方式
参考技术A 1、filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。原数组不变
不会对空数组进行检测
2、find() 对于空数组,函数是不会执行的。
不会改变原数组
返回符合测试条件的第一个数组元素值
3、some 用于检测数组中的元素是否满足指定条件
会依次执行数组的每个元素-如果有一个元素满足条件(即只要有条件满足即可相当于或),则表达式返回true , 剩余的元素不会再执行检测
----------------------如果没有满足条件的元素,则返回false
4、every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)
every() 方法使用指定函数检测数组中的所有元素-如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
------------------------------------------如果所有元素都满足条件,则返回 true
以上是关于js找数组中元素5种方式的主要内容,如果未能解决你的问题,请参考以下文章