javascript|js操作数组的方法

1.indexOf 主要用途:判断字符串或数组中是否存在对应的元素
【javascript|js操作数组的方法】匹配数组时是严格匹配,数据类型必须一致,匹配字符串时不需要,他会自动转换

'1234'.indexOf(2)//1 ['1','2','3',].indexOf(2)//-1

返回值:整形 索引值
const res = [1,2,3].indexOf(2); //1Number //在if判断条件中的写法 if(res>-1) { 存在后的处理逻辑 }

第二个参数 indexOf(val,fromIndex)指定从fromIndex开始找,只招该下标之后的元素
无法匹配到NaN和undefined
[NaN].includes(NaN)//-1

2.includes 主要用途:判断字符串或数组中是否存在对应的元素
返回值:true,false
const res = [1,2,3].include(2); //true //在if判断条件中的写法 if(res) { 存在后的处理逻辑 }

第二个参数 indexOf(val,fromIndex)指定从fromIndex开始找,只招该下标之后的元素
可以匹配到NaN和undefined
[NaN].includes(NaN)//true

匹配数组时是严格匹配,数据类型必须一致,匹配字符串时不需要,他会自动转换
'1234'.indexOf(2)//1 ['1','2','3',].indexOf(2)//-1

3.find
array.find(function(item, index, arr),thisValue)

item遍历过程中每个独立元素
数组中每个元素都要执行的cb,传递的参数(可选)
查找符合条件的第一个元素,并将其返回,查不到则返回undefined
该方法不会影响原始数据
javascript|js操作数组的方法
文章图片

4.filter
const newArray = arr.filter(callback(item, index, array))

item遍历过程中每个独立元素
全部走了一遍没找到则返回空数组
返回的是一个新数组 不会改变原素组
let users = [ {id: 1, name: "John"}, {id: 2, name: "Pete"}, {id: 3, name: "Mary"} ]; // 返回前两个用户的数组 let someUsers = users.filter(item => item.id < 3); console.log(someUsers);

javascript|js操作数组的方法
文章图片

5.map map(map可以用来转数据类型,string转number)(很有实用价值的,找列表里面的修改数据)
语法:array.map(function(currentValue,index,arr), thisValue)
callback为数组中每个元素执行的函数,该函数可接受1-3个参数
??currentvalue参数表示数组的当前元素项,必须的参数
??index参数表示的当前元素下标,可选参数
??arr参数表示当前元素所属的数组,可选参数

map方法会返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
var arr = [1, 3, 5, 13, 2]; var res = arr.map(function (item, index) { item += 1; return item + 1; }); console.log(res); //[2,4,6,14,3]

6.forEach 无返回值,永远返回undefined

    推荐阅读