一个变量 存储多个值
数组是线性的:除了第一个元素,每一个元素都有一个前驱元素,除了最后一个元素,,每一个元素都有一个后驱元素
如何获取数组中的元素 因为数组是线性的,所以 数组中的每一个元素,在数组中都有自己的位置 如第一个 最后一个 第二个… 位置:下标 从0开始 获取数组中的元素 arr[下标] 数组length属性 获取数组的长度 (元素的个数)
arr[下标]=值 1,原来就有 覆盖原来的值 2,原来没有 定义个一个新的位置 上定义的一个新值
内存:存储 程序运行中的数据 变量:内存中独立的存储空间 栈内存 基本数据类型 堆内存 复合数据类型 引用类型在进行比较时是引用(地址)比较
var arr = [1,2,3]
alert(arr[4]); 访问数组中的元素时,如果长度超出了就是 undefined
api Application Programming Interface 应用程序接口 对象的方法
末尾添加 可以是以,隔开的多个值
末尾删除 调用一次就删除一个 返回值:就是删除的数组元素
开头添加 可以以,隔开的多个值
开头删除 返回值:删除的元素 总结:以上四个api都是会直接改变原数组 不是只读的
连接数组 (将两个小的数组或者一个数组和其他值 拼成一个大的数组) var newArr = arr.concat(连接的值);
不是排序 var arr=[2,5,7,8]; arr.reverse() [8,7,5,2]
默认是按照字符串 进行排序 (首字符大小 进行排序) 如果需要按照数字排序:需要 一个 排序规则的函数 function compare(a,b){ return a-b; //升序 return b-a; //降序 }
注意:join可以传参 ,参数是值 分隔符 ,如果不传参 默认是 ,分割 只读的
不是只读 功能: 删除 替换 插入 第一个参数 : 从哪里开始删除 第二个参数:删除几个 后面的参数 : 插入的值 总结:如果参数只有两个 执行的是删除操作 如果有多个参数主要看 第二个参数 如果为0 执行的是插入 如果不为0执行的是替换
只读 切割数组 得到子数组 starti:开始截取的位置 下标 endi:结束的位置 总结:含头不含尾 如果第二个参数省略,默认从starti开始后面全部截取