JavaScript数组

1. 数组的概念

数组是一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。
数组是一种将一组数据存储在单个变量名下的优雅方式。

// 普通变量一次只能存储一个值
var num = 10;
// 数组一次可以存储多个值
var arr = [1, 2, 3, 4, 5];

2. 创建数组

2.1数组的创建方式

JS中创建数组有两种方式:

  • 利用new创建数组
  • 利用数组字面量创建数组(√常用)

2.2利用new创建数组

var arr = new Array(); // 创建一个新的空数组

2.3利用数组字面量创建数组

var arr = ['小白', '小黑', '大黄']; // 数组里面的数据一定用逗号分隔
  • 数组的字面量是方括号[ ]
  • 声明数组并赋值称为数组的初始化
  • 这种字面量方式是最多使用的方式

2.4数组元素的类型

数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。

3. 获取数组中的元素

索引(下标):用来访问数组元素的序号(数组下标从0开始)。
数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过“数组名[索引]”的形式来获取数组中的元素。

var arrNames = ['赵露思', '迪丽热巴', '王安宇']; // 定义数组
alert(arrNames[0]);
alert(arrNames[1]);
alert(arrNames[2]); 

4. 遍历数组

遍历:就是把数组中的每个元素从头到尾都访问一次。

var arr = ['red', 'green', 'blue'];
for (let i = 0; i < 3; i++) {
  const element = arr[i];
  console.log(arr[i]);
}
// 按顺序打印 red green blue
// 1. 数组的长度是元素个数,不要跟索引号混淆
// 2. arr.length 动态监测数组元素的个数
// 求数组里面所有元素的和以及平均值。
// (1)声明一个变量 sum
// (2) 遍历这个数组,把里面每个数组元素加到 sum 里面
// (3)用求和变量 sum 除以数组的长度就可以得到数组的平均值
var arr2 = [2, 6, 1, 7, 4];
var sum = 0;
var average = 0;
for (let i = 0; i < arr2.length; i++) {
  sum = sum + arr2[i];
}
average = sum / arr2.length;
console.log(sum, average); // 想要输出多个变量,用逗号分隔即可

5. 数组中新增元素

5.1通过修改length长度新增数组元素

var arr = ['red', 'green', 'blue'];
console.log(arr.length); // 3
arr.length = 5; // 把数组的长度修改为了5,里面应该有5个元素
console.log(arr[3]); // undefined
console.log(arr[4]); // undefined
  • 可以通过修改length长度来实现数组扩容
  • length属性是可读写的

5.2通过修改数组索引新增数组元素(√常用方式)

var arr = ['red', 'green', 'blue'];
arr[3] = 'yellow';
console.log(arr); // ['red', 'green', 'blue', 'yellow']
arr[4] = 'white';
console.log(arr); // ['red', 'green', 'blue', 'yellow', 'white']
arr[0] = 'orange';
console.log(arr); // ['orange', 'green', 'blue', 'yellow', 'white']  索引号0的数组元素会被替换
  • 可以通过修改数组索引的方式追加数组元素
  • 不能直接给数组名赋值,否则会覆盖掉以前的数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 4,057评论 0 6
  • 1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...
    庵下桃花仙阅读 726评论 0 2
  • 一、工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具 【M】移动工具 【V...
    墨雅丫阅读 1,122评论 0 0
  • 跟随樊老师和伙伴们一起学习心理知识提升自已,已经有三个月有余了,这一段时间因为天气的原因休课,顺便整理一下之前学习...
    学习思考行动阅读 656评论 0 2
  • 一脸愤怒的她躺在了床上,好几次甩开了他抱过来的双手,到最后还坚决的翻了个身,只留给他一个冷漠的背影。 多次尝试抱她...
    海边的蓝兔子阅读 551评论 0 4

友情链接更多精彩内容