JavaScript 数组

Day 05 JavaScript 笔记

1 数组

1.1 什么是数组

  1. 数组是值的有序集合。

2)每个值叫做一个元素。

3)每个元素在数组中有一个位置,以数字表示,称为索引(有时也成为下标)。

4)数组的元素可以是任何类型的数据。

5)数组索引从0开始,最大为2^32-2, 数组最大能容纳4294967294 个元素。

1.2 声明数组的方式

① 直接量方式
[元素1,元素2,元素3...];
② Array 函数方式
Array(元素1,元素2,元素3...);
Array(10);          //声明一个拥有10个元素的数组

注意: Array 如果只有一个参数,且该参数是number,该参数会被当做数组元素的个数

③ Array 构造函数方式
new Array(元素1,元素2,元素3...);
new Array(10);      //声明一个拥有10个元素的数组

注意: new Array() 和 Array() 相关规则完全一致。

1.3 数组元素的读写

//1、通过索引读取数组中的元素,如果读取不存在的元素会得到 undefined
arr[4];

//2、通过索引给数组的元素重新赋值,如果给不存在的元素赋值会给数组新增一个元素。
arr[2] = "哈哈";

//3、length 可以获取数组的长度(数组中元素的格式),length 的值还可以修改(可能会导致数组被截取)
arr.length;

1.4 稀疏数组

  • 数组要求元素的索引必须是连续的数字。
  • 如果出现有些元素没有值是空的,这样的数组就是稀疏数组
  • 如果读取空的元素的值,会得到 undefined (注:空的元素值就是空的,只是在读取该元素自动得到 undefined )。
  • 产生稀疏数组的情况:① 使用索引赋值,与前面的索引不连续;② 修改数组的length ,给了较大的值; 注意: 要尽量避免稀疏数组。

1.5 数组的遍历(迭代)

// 使用 for 循环遍历数组   推荐方式
for (var i = 0; i < 数组.length; i ++) {
    数组[i];  // 读取到数组的每个元素
}


// 使用 for in 结构比遍历数组  不推荐
for (var i in 数组) {
    数组[i];  // 读取到数组的每个元素
}

1.6 数组元素的添加和删除

① 添加元素
1. 指定下一个索引,给数组添加元素,可以利用 数组.length
   arr[arr.length] = '值';
   
2. 使用 push() 方法在数组的后面追加一个或多个元素
   arr.push();
   arr.push(1,2..,)
   
3. 使用 unshift() 方法在数组的最前面添加一个或多个元素
   arr.unshift();
   arr.unshift(1,值2...)
   
4. 使用 splice() 方法在指定的位置插入一个或多个元素
   arr.splice(位置, 0,);
   arr.splice(位置, 0,1,2 ...)
②删除元素
1. 利用 length 删除数组的后几个元素
   arr.length -= n;  // 删除后n个元素
   
2. 使用 pop() 删除数组最后一个元素
   arr.pop();
   
3. 使用 shift() 删除数组的第一个元素
   arr.shift();
   
4. 使用 splice() 删除指定位置指定数量的元素
   arr.splice(位置, 要删除的数量)

1.7 多维数组

[
    ['张奶奶', '柳奶奶', '牛那年'], 
    [100, 200, 300, 400, 500], 
    ['刘姥姥', '马姥姥'],
    [
        ['a', 'b', 'c', 'd'],
        ['A', 'B', 'C', 'D'],
    ]
];

1.8 字符串的数组特性

字符串与数组有相似的结构,字符串是由字符组成的串,每个字符类似于数组的元素。

字符串具有以下特性:
1、字符串具有 length 属性,可以获取字符串长度(字符串中字符的个数)
2、使用 [] 可以指定索引可以读取字符串中的某个字符。
3、使用for 循环遍历字符串中的每个字符。

字符串只具备部分数组的特性:
1、字符串无法像数组那样修改其中的某个字符。
2、字符串的 length 也不能修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值