js在数组中查找是否存在某一个数值

本文介绍了JavaScript中的四个重要数组操作方法:indexOf()用于查找子串位置,find()和findIndex()用于查找满足条件的元素及其索引,filter()则用于创建筛选后的数组。通过实例演示了这些方法在实际开发中的应用,帮助理解数组操作技巧。
摘要由CSDN通过智能技术生成

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

	 var arr = [1, 2, 3];
	 var idx = arr.indexOf(2);
	 //idx为1

find() 方法返回数组中满足提供的测试函数的第一个元素的值。
注:find() 并没有改变数组的原始值。

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined
	var ages = [3, 10, 18, 20];
	let s = ages.find(item=>{
	 return	item > 18
	})
	console.log(s);  // 20
	var names = [
		{ name:'hello'},{name:'us'},{name:'null'}
	]
	let a = names.find(item=>{
	 return	item.name === 'hello'
	})
	console.log(a);  //{name: "hello"}
	let myArr=[1,2,3,4,8,12];
	/*通过数组下标取对应值*/
    var v2=myArr.find((value,index,arr)=>{
        return index==4
    });
    console.log(v2);  //8

findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
注:find() 并没有改变数组的原始值。

  • 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 -1
	var names = [
		{ name:'hello',name:'us',name:'null'}
	]
	let a = names.findIndex(item=>{
	 return	item.name === 'hello'
	})
	console.log(a); // 0
	var ages = [3, 10, 18, 20];
	let a = ages.findIndex(item=>{
	 return	item > 10
	})
	console.log(a); //2

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

	var ages = [3, 10, 18, 20];
	let a = ages.findIndex(item=>{
	 return	item > 10
	})
	console.log(a); //[18, 20]

	//数组去重
	var nums = [3,3,10,18,15,18,20]
	var  a = nums.filter((item,index,self)=>self.indexOf(item) === index
	)
	console.log(a); // [3, 10, 18, 15, 20]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值