JavaScript-内置对象-Array&伪数组

一、内置对象

定义:对象是带有属性和方法的特殊数据类型

调用方式:

对象名.属性名称 

对象名.方法名称(参数表)



二、JavaScript常用内置对象:


Array:用于在单独的变量名中存储一系列的值

Date:用于操作日期和时间

String:用于支持对字符串的处理

Math:用于执行常用的数学任务,它包含了若干个数字常量和函数


Array(数组)对象:

数组属于对象数据类型


 创建数组方式:


1、字面量方式:具有相同数据类型的一个或多个值的集合

如:"前端", "JS", "HTML"

var 数组名称 = ["前端","JS","HTML"];

2、以构造函数方式创建数组:var arr = new Array(size)size表示数组中可以存放的元素总数  分别赋值的时候也可以超出size设置的总数



赋值:

1、声明时赋值:

var a = new Array ( );

2、分别赋值:

var a= new Array ( );

a[0] = "";

a[1] = "";

a[2] = "";

a[3] = "";



输入数组元素:

 var arr = ["a", "b", "c"]

var i = 0

1、可以使用for-in循环输出数组元素

例如:for(var i in arr){document.write(arr[i]}

2、for 循环 配合length属性也可以循环

例如:for(var i=0;i<=arr.length;i++){document.write(arr[i]}



三、数组常用方法和属性:


1、join(' ')    

定义:把数组的所有元素放入一个字符串,通过一个分隔符进行分隔

可以把数组转换成字符串

 不会改变原数组

以空字符串分隔    会连起来例如:"abc"

以-分隔  " a-b-c"

不以任何分隔 或默认之前分隔符号

例如:

 地址栏动态传参的方法


2、sort()      对数组排序

①、会改变原数组

②、多位数排序存在的问题:

③、传参里的函数叫“高阶函数”

直接写sort 只对个位数有效果 排列多位数时候 会以个位数为基准排序 所以存在问题

解决方法:多位数排序 要在sort的参数中加入函数来实现

例如:

第二种函数调用方式




3、indexOf() 

参数有两个

第一个需要查招的元素

第二个参数表示从这个下标开始找 正负皆可

定义:返回数组中所在项的下标,找不到返回-1( 表示不存在)

返回的是数字类型



4、push()    

定义:向数组末尾添加一个或更多元素,并返回新的长度 可以添加多个



去重方式有:-index of



5、去重方式-(ES6新增查找元素方法)includes():


返回布尔值(true/false) 如果includes的参数 在数组中存在返回true  不存在返回false


6、concat ()合并两个数组

会生成一个新数组 不会对原数组造成变化


② ES6 新增合并数组方式:拓展运算符号 ...




7、pop()出栈

定义:删除数组中的最后一个元素  并返回最后一个元素(被删除的元素)



8、UNshift()

数组前面添加一个或更多元素  并返回新的长度  



9、shift ()

删除数组最前面的数 并返回删除的元素



10、splice()

会改变原数组

对数组指定位置的元素 进行增删改操作

splice(元素所在下标,删除元素的个数,需要添加的元素)

splice(0,0) 则返回 空

splice可以填写负数 从后面开始


①、添加:

②、删除:


③、修改:




11、reverse()倒叙

会改变原来的数组

倒叙,使用在数组上 返回倒叙后的数组 



12、slice() 选取a-b的数组

1、第一个参数是索引值 返回从索引值到数组末尾的元素,要为正数

2、 如果是负数会从数组末尾开始返回

3、第二个索引是结束的位置 位置要-1

结束下标是“3”的位置 要-1 所以是1和2


13、toString()方法

把数组转为字符串 直观效果是去括号

字符串类型原值返回

所有括号都会被去掉


14、find()方法   通过高阶函数 返回数组中符合要求的第一个元素的值

find方法里的高阶函数有三个参数  item index  array 

item 是每一个元素    index 是每一个元素的索引   array 是原数组

条件成立返回第一个 符合要求的值


15、filter()方法

filter方法里的高阶函数有三个参数  item index  array 

item 是每一个元素    index 是每一个元素的索引   array 是原数组

 条件成立 返回所有符合要求的值


16、every()

返回值是 布尔类型 如果数组元素中有一个不满足 就返回false


17、some()

方法用于检测数组中的元素是否满足指定条件

会依次执行数组的每个元素:如果有一个元素满足条件,则表达式返回true, 剩余的元素不会再执行检测

如果有一个满足条件的 整体返回true


18、reduce()可以用来累加

一共有四个参数

acc 累加器 (从这个数字开始加)

cur  当前值

Index 索引

Array 原数组



19、map()

数组中的元素为原始数组元素调用函数处理后的值

map()方法会按照原始数组元素顺序依次处理元素

用于返回一个新数组


20、forEach()循环

方法用于调用数组的每个元素,并将元素传递给回调函数

三个参数

item  每一个元素

arr  当前元素所属的数组对象

index  当前元素的索引值


21、findIndex()

返回第一个符合要求的值的索引


四、伪数组 -  只有length属性的数组 不具有数组其他的方法

第一种伪数组  arguments

第二种伪数组 字符串

第三种 DOM树


伪数组如何转换为数组?

1、ES5方法 - Array.from

2、ES6方法 - 拓展运算符 ...

你可能感兴趣的:(JavaScript-内置对象-Array&伪数组)