需要掌握数组常用API大全

在这里插入图片描述

追加元素类:

push():在数组的末尾追加数组,返回值为新数组的长度

unshift():在数组内部的最前面追加元素,返回值为新数组的长度

删除元素类:

pop():删除数组的最后一个元素,返回值为删除的元素

shift():删除数组的第一个元素,返回值为删除的元素

splice( x , y, z ):从指定位置删除元素,后两个参数省略,则从删除位置开始,一直删到最后 。第一个参数表示:要删除的位置索引值。 第二个参数表示:删除个数。第三个参数表示:替换为的元素

const arr = ["Banana", "Orange", "Apple", "Mango"]
const str = arr.splice(1,1)    // ["Banana", "Apple", "Mango"]
const str = arr.splice(1,0,"kimi")   // ["Banana","kimi","Orange", "Apple", "Mango"]
const str = arr.splice(1,1,"kimi")   // ["Banana","kimi","Apple", "Mango"]

获取索引类

indexof ( 数组元素 ):

​ 检测当前值在数组中第一次出现的位置索引

参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回-1

是否改变原数组:不改变

let arr = ['a','b','c','d','e','a','f'];   

console.log(arr.indexOf('c'))  //2

console.log(arr.indexOf('a',3)) //5

lastIndexof( 数组元素 ):

检测当前值在数组中最后一次出现的位置索引

参数:array.lastIndexOf(item,start) item:查找的元素 start:字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回-1

是否改变原数组:不改变

let arr = ['a','b','c','d','e','a','f'];   

console.log(arr.lastIndexOf('c'))     //2

console.log(arr.lastIndexOf('f',1))    //-1

遍历数组类

forEach():

循环遍历数组每一项

参数:函数 ary.forEach(function(item,index,ary){}) item:每一项 index:索引 ary:当前数组

返回值:无

是否改变原数组:不改变

forEach中不能使用continue和break,forEach中不能跳出,只能跳过(return跳过)

let arr = ['a','b','c','d']; 

let item = arr.forEach((item,index)=>{

       console.log(item,index)

  })

**find():**循环遍历数组,查找满足条件的第一个值并返回,函数内部为判断条件,函数同forEach()方法

// find() 方法为数组中的每个元素都调用一次函数执行:
// 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
// 如果没有符合条件的元素返回 undefined

const arr=[1,2,3,4,5,6,7,8,9,10]
arr.find( item => {
	return item > 5
})

// 输出结果
6

**findIndex():**循环遍历数组,查找满足条件的第一个值,返回其索引值,函数内部为判断条件,函数同forEach()方法

let num = [10,3,5,15,100,1]
const arr = num.findIndex(function(item, index){    // 15
    return item >= 15;
});
console.log(arr)     // 3

**some():**循环遍历数组,判断是否有满足条件的值,只要一个就返回true,否则为false,函数内部为判断条件,函数同forEach()

  lat arr = [1, 2, 3, 4, 5];
  lat arr2 = arr.some( (item) => {
    return item < 3;
  });
  console.log(arr2); //true
  lat arr3 = arr.some( (item) => {
    return item < 1;
  });
  console.log(arr3); // false

**every():**循环遍历,判断所有值是否满足条件,有一个不满足就返回false,否则返回true,函数内部为判断条件,函数同forEach()

    const arr = [1,2,3,4,5,6]
    const str = arr.every( item => item > 0 )
    console.log(str);    // ture

**filter():**循环遍历数组,筛选数组中满足条件的元素,并组成一个新数组返回,函数内部为需要判断的条件,同forEach()

  let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  let arr2 = arr.filter((item, index) => {
    return index % 3 === 0 || item >= 8
  });
  console.log(arr2); //[1, 4, 7, 8, 9, 10]


**map():**通过指定函数处理数组的每个元素,并返回处理后的数组

原理: map作用是映射调用此方法的数组,不会改变原始数组,返回原始数组每一项的操作,组成一个新数组,长度和原始数组一致
方法:
 //item => 数组的每一项
 //index => 数组每一项的索引
 //arr => 原数组
Array.map((item,index,arr)=>{})
实例:
let arr = [1,2,3]
let newArr = arr.map((item,index)=>{
	return item + 1
})
//newArr = [2,3,4]


**reduce():**将数组元素计算为一个值(从左到右)

其他类

**reduceRight():**将数组元素计算为一个值(从右到左)

**toString():**把数组转换为字符串,并返回结果

**valueOf():**返回数组对象的原始值

includes():

判断一个数组是否包含一个指定的值

参数:指定的内容

返回值:布尔值

是否改变原数组:不改变

// ps:includes(item, startIndex); 	item: 查找的元素; startIndex: 开始查找的位置
let a = [ 1 , 2 , 3 , 4 , 5];
let b = a.includes(4);	    //  b: true
let b = a.includes(3, 3);	//  b: false

排序翻转类

reverse():

把数组倒过来排列

参数:无

返回值:倒序后新数组

是否改变原数组:改变

const arr=[1,2,3]
const newArr = arr.reverse()
console.log(newArr)    //  [3,2,1]

sort():

对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)

参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序

返回值:排序后新数组

是否改变原数组:改变

sort在不传递参数情况下,只能处理10以内(个位数)数字排序

let arr = [32,44,23,54,90,12,9]; 

  arr.sort(function(a,b){       
       // return a-b;  // 结果[9, 12, 23, 32, 44, 54, 90]
       // return b-a;  // 结果[90, 54, 44, 32, 23, 12, 9] 
       })  
   console.log(arr);

连接截取类

**concat(连接的数组):**连接数组,返回值为新数组

    const arr = ["1", "2"]
	const str = ["5", "6", "7"]
	const newArr = arr.concat(str)
	console.log(newArr);   //  ["1", "2","5", "6", "7"]

**join(‘连接的符号’):**将数组用符号连接,数组转化成字符串的方式

 // ps : 默认是逗号,也可以自定义连接符
 const arr=[1,2,3]
    const str = arr.join('')
    console.log(str); //1,2,3
    console.log(arr); //[1,2,3]

**slice():**截取数组,返回被截取元素组成的新数组

// ps: 包含第一个参数,不包含第二个参数
const arr=["Banana","Orange","Apple","Mango","Apple","Orange"]
const str = fruits.slice(2,5)
console.log(str)    //返回一个新数组   ["Apple","Mango","Apple"]

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值