数组常用的api
Posted cxf1214
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组常用的api相关的知识,希望对你有一定的参考价值。
数组是有序的元素序列,可以存储多个值
怎么理解:
一个变量 存储多个值
数组是线性的:除了第一个元素,每一个元素都有一个前驱元素,除了最后一个元素,,每一个元素都有一个后驱元素
声明
语法糖: array
var arr = [];
var arr=[1,2,3,4,5,6,87];
构造函数写法:
var arr = new Array();
var arr = new Array(1,2,3,4,5);
使用
如何获取数组中的元素
因为数组是线性的,所以 数组中的每一个元素,在数组中都有自己的位置 如第一个 最后一个 第二个...
位置:下标 从0开始
获取数组中的元素
arr[下标]
数组length属性
获取数组的长度 (元素的个数)
数组元素的赋值
arr[下标]=值
1,原来就有 覆盖原来的值
2,原来没有 定义个一个新的位置 上定义的一个新值
复合数据类型与基本数据类型区别
内存:存储 程序运行中的数据
变量:内存中独立的存储空间
栈内存
基本数据类型
堆内存
复合数据类型
引用类型在进行比较时是引用(地址)比较
var arr = [1,2,3]
?
alert(arr[4]);
访问数组中的元素时,如果长度超出了就是
undefined
?
数组常用api
api Application Programming Interface
应用程序接口
对象的方法
push()
末尾添加 可以是以,隔开的多个值
pop()
末尾删除 调用一次就删除一个
返回值:就是删除的数组元素
unshift()
开头添加 可以以,隔开的多个值
shift()
开头删除
返回值:删除的元素
总结:以上四个api都是会直接改变原数组 不是只读的
?
concat 连接数组 (将两个小的数组或者一个数组和其他值 拼成一个大的数组)
var newArr = arr.concat(连接的值);
?
reverse() 不是 颠倒数组 不是排序
var arr=[2,5,7,8];
arr.reverse() [8,7,5,2]
sort() 排序
默认是按照字符串 进行排序 (首字符大小 进行排序)
如果需要按照数字排序:需要 一个 排序规则的函数
function compare(a,b)
return a-b; //升序
return b-a; //降序
join() 将数组转换成字符串
注意:join可以传参 ,参数是值 分隔符 ,如果不传参 默认是 ,分割
只读的
splice() 不是只读
功能: 删除 替换 插入
第一个参数 : 从哪里开始删除
第二个参数:删除几个
后面的参数 : 插入的值
总结:如果参数只有两个 执行的是删除操作
如果有多个参数主要看 第二个参数
如果为0 执行的是插入
如果不为0执行的是替换
slice(starti[,endi+1]) 只读 切割数组 得到子数组
starti:开始截取的位置 下标
endi:结束的位置
总结:含头不含尾
如果第二个参数省略,默认从starti开始后面全部截取
以上是关于数组常用的api的主要内容,如果未能解决你的问题,请参考以下文章