find(),findIndex()和indexOf()

1.find():

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。

我遇到的问题是:find()方法是直接return值,如果要在控制台输出,还需要通过赋给一个变量输出,如果是赋值给某个HTML元素,直接赋值即可

	var arr = [1, 3, 5, 4, 12, 18, ]
	//item:数组元素
	//index:索引
    var target = arr.find((item, index) => {
        return item > 5 
    })
    console.log(target)  //12

2.findIndex():

findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。

findIndex() 方法为数组中的每个元素都调用一次函数执行:

当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。

注意: findIndex() 并没有改变数组的原始值。

findIndex()和find()类似,只不过返回的是索引值

 var arr = [1, 3, 5, 4, 12, 18, ]
    var target = arr.findIndex((item, index) => {
        return item > 5
    })
    console.log(target) //4

3.indexOf():

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果没有找到匹配的字符串则返回 -1。

注意: indexOf() 方法区分大小写。

官网说是找到匹配的字符串,但是数组也可以,返回数组中第一个符合的元素的索引值,找不到的话返回-1

/* arr.indexOf(item)
    item:匹配的值
     */
var arr = [1, 3, 5, 4, 12, 18, ]
    var target = arr.indexOf(5)
    console.log(target) //2

4.filter()

再补充一个过滤方法

 /* filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。 */
	var arr1 = [1, 2, 3, 4, 2];
    function fn(arr, item) {
        var newArr = arr.filter(value => {
            return value != item
        })
        console.log(newArr)
    }
    fn(arr1, 2) //[1, 3, 4]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值