JavaScript学习笔记_数组

创建方法

1.空数组
var Obj=new Array();

2.指定长度数组
var Obj=new Array(Size)

3.指定元素数组
var Obj=new Array(元素1,元素2,…,元素N);

4.单维数组
var Obj=[元素1,元素2,元素3,…,元素N];

在这里插入图片描述

5.多维数组
var a=new Array([数组序列1],[数组序列2],[数组序列N]);

在这里插入图片描述

基本操作

1.存取数组元素
单维数组:数组名[下标索引];
多位数组:数组名[外层数组下标][内层数组下标]

特性:
数组长度时弹性的,可自由伸缩
数组下标从0开始
下标类型
数值
非数值:
转为字符串,生成关联数组,下标将作为对象属性的名字


Javascript的数组其实不像PHP或者其他一些语言一样拥有真正的字符串下标,当我们试图为一个js数组添加字符串下标的时候,其实就相当于为该数组对象添加了一个属性,属性名称就是我们所谓的“字符串下标”。由于为数组对象添加属性不会影响到同为该对象属性的length的值,因此该值将始终为零。同样地,.pop()和.shift()等作用于数组元素的方法也不能够作用于这些对象属性。因此,如果要使用的是一个完全由“字符串下标”组成的数组,那还是将其声明为一个Object类型的对象要更好一些。


Javascript数组下标值的范围为0到2的32次方。对于任意给定的数字下标值,如果不在此范围内,js会将它转换为一个字符串,并将该下标对应的值作为该数组对象的一个属性值而不是数组元素,例如array[-1]
= “yes” 其实就相当于给array对象添加了一个名为-1的属性,属性值为yes。如果该下标值在合法范围内,则无论该下标值是数字还是数字字符串,都一律会被转化为数字使用,即
array[“100”] = 0 和 array[100] = 0 执行的是相同的操作。

数组元素可添加到对象中

增加数组:使用’[ ]‘运算符指定一个新下标
删除数组:delete数组名[下标];
遍历数组:for(var 数组元素变量in数组)

数组属性

1.constructor
引用数组对象的构造函数
2.length
返回数组的长度
3.prototype
通过增加属性和方法扩展数组的定义

EAMAScript 3方法

1.添加
push();
在数组末尾添加数组

unshift()
在数组头部添加元素

concat()
合并两个数组

2.删除
pop()
删除并返回数值的最后一个元素
shift()
删除并返回数组的第一个元素

其中push()和pop()是栈方法,后进先出 unshift()和shift()是队列方法,先进先出

3.子数组
splice()
//删除任意数量的项
要删除的起始下标
要删除的项数

//在指定位置插入指定的项
起始下标
0(不删除任何项)
要插入的项

//替换任意数量的项
起始下标
要删除的项数
要插入的项

slice()
功能:从已有数组中选取部分元素构成新数组
特性:
如果是负数,则用数组长度加上该值确定位置,起始位置实为数组的实际下标
结束位置的实际下标为结束数值减1

4.数组排序

reverse()
颠倒数组中元素的顺序

sort()
功能:对字符数组或数字数组进行排序
特性:
默认为按字符串比较
按数值大小比较,需函数支持(升序)
在这里插入图片描述

5.数组转换

toString()
转换为本地格式字符串并返回

toLocalString()
转换为本地格式字符串并返回

join()
用指定分隔符分割数组并转换为字符串

ECMAScript 5方法

1.位置方法
indexOf
从数组的起始位置开始查找
lastIndexOf
从数组的结束位置开始查找

参数:要查找的项,表示查找起点的位置索引

2.迭代方法
every
如果该函数对每一项都返回true,则返回true
filter
返回值为true的所有数组成员
forEach
无返回值
map
返回每次函数调用的结果数组
some
有任意一项返回true,则返回true

参数:
接收参数:
要在每一项上运行的函数,运行该函数的作用域对象

传入参数:
数组项的值item,该项在数组中的位置index,数组对象本身array

3.缩小方法
reduce
从数组起始位开始遍历
reduceRight
从数组末尾开始遍历

参数:
接收参数
每一项上调用的函数,作为缩小基础的初始值

传入参数
当前一个值prev
当前值cur
项的索引index
数组对象array

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值