JavaScript 数组

定义数组的3种方法

  1. 用方括号
var arr = ['A', 'B', 'C', 'D'];
var arr = new Array('A', 'B', 'C', 'D');
  1. 这样也可以定义数组,但是每项都是 undefined。
var arr = new Array(4);
  • JavaScript 不限定数组中每项的类型必须一致,可以存放不同类型的数值。

下标越界

  • 访问数组中不存在的项会返回 undefined,不会报错

更改数组项

  • 如果更改的数组项超过了 length-1,则会创造这项

数组类型的检测

  • 数组用 typeof 检测结果是 object
  • Array.isArray() 方法可以用来检测数组

数组的头尾操作

方法功能
push()在尾部插入新项
pop()在尾部删除
unshift()在头部插入新项
shift()在头部删除
push() 方法
  • push() 方法用来在数组末尾推入新项,参数就是要推入的项
  • 如果要推入多项,可以用逗号隔开
  • 调用 push() 方法后,数组会立即改变,不需要赋值
pop() 方法
  • 与 push() 相反,pop() 方法用来删除数组中的最后一项
  • pop() 方法不仅会删除数组末项,而且会返回被删除的项
unshift() 方法
  • unshift() 方法用来在数组头部插入新项,参数就是要插入的项
  • 如果要插入多项,可以用逗号隔开
  • 调用 unshift() 方法后,数组会立即改变,不需要赋值
shift() 方法
  • 与 unshift() 相反,shift() 方法用来删除数组中下标为 0 的项
  • shift() 方法不仅会删除数组首项,而且会返回被删除的项
splice() 方法
  • splice() 方法用于替换数组中的指定项
  • splice() 方法可以用于在指定位置插入新项
var arr = ['A', 'B', 'C', 'D'];
arr.splice(2, 0, 'X', 'Y', 'Z');
console.log(arr);
  • splice() 方法可以用于删除指定项
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.splice(2, 4);
console.log(arr);
  • splice() 方法会以数组形式返回被删除的项
slice() 方法
  • slice() 方法用于得到子数组,类似于字符串的 slice() 方法
  • slice(a, b) 截取的子数组从下标 a 的项开始,到下标为 b(但不包括下标为 b 的项)结束
  • slice(a, b) 方法不会更改原有数组
  • slice() 如果不提供第二个参数,则表示从指定项开始,提取所有后续所有项作为子数组
  • slice() 方法的参数允许为负数,表示数组的倒数第几项
join() 和 split() 方法
  • 数组的 join() 方法可以使数组转为字符串;字符串的 split() 方法可以使字符串转为数组。
  • join() 的参数表示以什么字符作为连接符,如果留空则默认以逗号分隔,如同调用 toString() 方法
  • split() 的参数表示以什么字符拆分字符串,一般不能留空
concat() 方法
  • concat() 方法可以合并连结多个数组
var arr1 = [1, 2, 3, 4];
var arr2 = [5, 6, 7, 8];
var arr3 = [9, 10, 11];
var arr = arr1.concat(arr2, arr3);
console.log(arr);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] 
  • concat() 方法不会改变原数组
reverse() 方法
  • reverse() 方法用来将一个数组中的全部项顺序置反
var arr = ['A', 'B', 'C', 'D'];
arr.reverse();
console.log(arr);	// ['D', 'C', 'B', 'A']
indexOf() 和 includes() 方法
  • indexOf() 方法的功能是搜索数组中的元素,并返回它所在的位置,如果元素不存在,则返回-1
  • includes() 方法的功能是判断一个数组是否包含一个指定的值,返回布尔值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值