js操作数组的方法

1.indexOf

主要用途:判断字符串或数组中是否存在对应的元素

匹配数组时是严格匹配,数据类型必须一致,匹配字符串时不需要,他会自动转换

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

返回值:整形 索引值

const res = [1,2,3].indexOf(2);//1  Number
//在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

该方法不会影响原始数据

js操作数组的方法_第1张图片

 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);

js操作数组的方法_第2张图片

 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

你可能感兴趣的:(javascript,前端,开发语言)