js操作

50 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情

JavaScript数组

创建方法

  • 空数组 var arr = new Array();
  • 指定长度数组
    var arr = new Array(Size);
  • 指定元素数组 var arr = new Array(元素1, 元素2, ..., 元素n);
  • 单维数组 var arr = [元素1, 元素2, ..., 元素n];
  • 多维数组 var arr = new Array([数组序列1], [数组序列2], [数组序列n]);

基本操作

  • 存取数组元素
    • 单维数组 : 数组名[下标索引]
    • 多维数组 : 数组名[外层数组下标][内层数组下标]
    • 特性 : 数组长度是弹性的,可自由伸缩
    • 下标类型(数值) : 数组下标从0开始
    • 下标类型(非数值) : 转为字符串;生成关联数组;下标将作为对象属性的名字
    • 特性 : 数组元素可添加到对象中
  • 添加数组 使用"[]"运算符执行一个新下标
  • 删除数组 delete 数组名[下标]
  • 遍历数组 for (var 数组元素变量 in 数组)

数组属性

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

数组方法

  • 添加
    • push() 在数组末尾添加数组
    • unshift() 在数组头部添加元素
    • concat() 合并两个数组
  • 删除
    • pop() 删除并返回数组的最后一个元素
    • shift() 删除并返回数组的第一个元素
  • 子数组
    • splice() : 向/从数组中添加/删除项目,然后返回被删除的项目.
    • splice(要删除的起始下标, 要删除的项数) : 删除任意数量的项
    • splice(起始下标,0(不删除任何项), 要插入的项) : 在指定位置插入指定的项
    • splice(起始下标, 要删除的项数, 要插入的项) : 替换任意数量的项
    • slice(返回项的起始位置, 返回项的结束位置) : 从已有数组中选取部分元素构成新数组
    • slice参数特性 : 如果是负数,则用数组长度加上改值确定位置
    • slice参数特性 : 起始位置维数组的实际下标
    • slice参数特性 : 结束位置的实际下标维结束值减1
  • 数组排序
    • reverse() : 颠倒数组中元素的顺序
    • sort() : 堆字符数组或数字数组进行排序(默认按字符串比较)
  • 数组转换
    • toString() : 转换维字符串并返回
    • toLocaleString() : 转换为本地格式字符串并返回
    • join() : 用指定分隔符分割数组并转换为字符串
  • 位置方法
    • indexOf(要查找的项, 表示查找起点的位置索引) : 从数组的起始位置开始查找
    • lastIndexOf(要查找的项, 表示查找起点的位置索引) : 从数组的结束位置开始查找
  • 迭代方法
    • 接收参数 : 要在每一项上运行的函数;运行该函数的作用域对象
    • 传入参数 : 数组项的值item;该项在数组中的位置index;数组对象本身array
    • every() : 如果该函数堆每一项都返回true,则返回true
    • filter() : 返回值为true的所有数组成员
    • forEach() : 无返回值
    • map() : 返回每次函数调用的结果数组
    • some() : 有任意一项返回true,则返回true
  • 缩小方法
    • 接收参数 : 每一项上调用的函数;作为缩小基础的初始值
    • 传入参数 : 前一个值prev;当前值cur;项的索引index;数组对象array
    • reduce() : 从数组开始位置开始遍历
    • reduceRight() : 从数组末尾开始遍历