js:分析操作数组,常用的查找方法:indexOf(),lastIndexOf(),includes(),find()的使用与案例
程序员文章站
2022-03-09 09:49:24
...
indexOf的使用(ps:indexOf会匹配出第一次值出现的索引,匹配不到返回-1,从前往后找)
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] console.log(arr.indexOf('a'))
控制台输出:1
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] console.log(arr.indexOf('a', 2))
控制台输出:4
ps:第一个表示值,第二个为起始索引位置,a第一次出现的索引为1,而起始检索位置为2,直接越过了第一次的a。
indexOf实战案例(ps:比如要删除数组中的某一个元素,但不知道索引的情况下)
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] arr.splice(arr.indexOf('a'), 1) console.log(arr)
控制台输入:["小明", "张三", "b", "a", "李四"]
- lastIndexOf的使用(ps:lastIndexOf会匹配出第一次值出现的索引,匹配不到返回-1,从后往前找)
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] alert(arr.lastIndexOf('a'))
控制台输出:4
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] alert(arr.lastIndexOf('a', 2))
控制台输出:1
ps:与indexOf的意思一样,只是倒序,从后往前。
lastIndexOf实战案例(ps:判断集合中是否存在同一元素,结合indexOf使用)
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] arr.indexOf('a') !== arr.lastIndexOf('a') ? alert('重复') : alert('不重复')
结果: 重复
includes的使用(ps:查找数组中是否出现该元素,存在返回true,不存在返回false)
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] console.log(arr.includes('a'))
控制台输出:true
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] console.log(arr.includes('a', 6))
控制台输出:false
ps:第二个参数表示起始索引位置,从索引为6开始查找
find的使用(ps:相当于循环遍历这个数组对象)
let arr = ['小明', 'a', '张三', 'b', 'a', '李四'] arr.find((v, i) => { console.log(v + '==' + i) })
控制台输出:
小明==0
a==1
张三==2
b==3
a==4
李四==5
上一篇: 工作n年,技术积累传授何人?
下一篇: 我从事技术的这些年(第12年)