javascript之数组

42 阅读2分钟

前言:数组形式的数据结构在开发中是经常用到的,所以我在此总结一篇,顺便复习复习知识

什么数组:

数组呢,在书写上就是用方括号[]括起来,括起来的数据类型,可以是任何数据类型,可以是基本类型:String,Number,Boolean,NaN 也可以是引用数据类型:object,Arrray,Function

这里有个小问题,基本类型和引用类型的区别?

数组的创建:

  1. var myCars=new Array();
    myCars[0]="Saab";      
    myCars[1]="Volvo";
    myCars[2]="BMW";

2.上述的简写:var myCars=new Array("Saab","Volvo","BMW");

3.字面形式书写:var myCars=["Saab","Volvo","BMW"];===用的频率高

数组的检测:

1.数组自带的Array.isArrsy(被检测的数据)

image.png

2.instaceof操作符

image.png

3.被检测是数据.constructof ==Array

image.png

数组的属性和方法

arr.length ===得到的是这个数组的长度

var y=myCars.indexOf("Volvo")   // "Volvo" 值的索引值,注意:如果Volvo不在数组中,返回的是-1

image.png

感兴趣的可以打印看一下 image.png

数组中的方法详解:

1. arr.concat(newArr)
作用:合并数组  
返回值:一个新的数组,不会更改原数组arr

image.png

2.arr.join()

作用:数组转字符串

返回值:字符串,不会更改原数组

image.png

3.数组的增删改查,返回值:数组,都会更改原数组

arr.push (尾增) arr.unshift(头增)

arr.pop()尾删 arr.shift(头删)

4.sort数组的升序与降序

返回值:数组,会更改原数组

image.png

5.arr.filter(()=>{})

返回值:数组,返回满足条件的所有元素,

image.png

6.arr.find(()=>{})

返回值:返回满足条件的第一个元素,无满足条件的元素返回的是undefined,不会影响原数组

image.png

image.png

与find类似的还有一个findIndex,查找到满足条件的就会返回的对应下标

7.arr.foreach

无返回值,for循环的简写

8.arr.map(()=>{})

返回值:数组,对数组的每个元素进行同等映射

image.png

9.arr.some()

返回值:布尔值,只要有一项元素满足条件,即可返回true

image.png

10.arr.every()

返回值:布尔值,只要有一项元素不满足条件,就会返回false image.png

11. arr.reduce((memo,current)=>{},[])

返回值:一个全新的数组,reduce函数种两个参数,参数一:是函数 在函数种处理逻辑,参数二是累计器, 参数一函数的参数:参数一,是上述的累计器,参数二:是当前的循环项,注意,此函数一定要return

let arr = [1, 2, 3].reduce((memo, current
) => {
  return memo.push(current += 1)
}, [])
console.log('arrr', arr) //[2,3,4]