8、数组

1.数组的概念

​ 数组(Array)是指一组数据的集合,将一组数据的集合存储在单个变量下,其中的每个数据被称作元素,数组中可以存放任意类型的元素。

2.创建数组

JS 两种创建数组方式:

(1)利用 new 创建数组

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

(2)利用数组字面量创建数组

//1. 创建空的数组
var  数组名 = [];
//2. 创建带初始值的数组
var  数组名 = ['小白','小黑','大黄','瑞奇'];
  • 数组的字面量是方括号 [ ]

  • 数组初始化:声明数组并赋

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

    var arrStus = ['小白',12,true,28.9];
    

3.获取数组中的元素

​ 索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)

​ 数组可以通过索引来访问、设置、修改对应的数组元素

​ 通过“数组名[索引]”的形式来获取数组中的元素

// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);

​ 注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined

4.遍历数组

​ 把数组中的每个元素从头到尾都访问一次(类似学生的点名),可以通过 for 循环索引遍历数组中的每一项

var arr = ['red','green', 'blue'];// 索引号从 0 开始,因此 i 也从 0 开始
for(var i = 0; i < arr.length; i++){// i 计数器当索引号来用console.log(arrStus[i]);
}

5.数组的长度

数组的长度:默认情况下表示数组中元素的个数

使用“数组名.length”可以访问数组元素的数量(数组长度)。

var arrStus = [1,2,3];
alert(arrStus.length);  // 3

注意

  • 数组长度动态监测数组元素的个数,与索引号无关
  • 数组元素个数发生变化,length 属性跟着一起变化
  • 数组的length属性可以被修改
  • 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素
  • 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除
// 数组案例
// 1.求数组 [2,6,1,7, 4] 里面所有元素的和以及平均值var arr3 = [2, 6, 1, 7, 4];var num = 0;var average = 0;for (var i = 0; i < arr3.length; i++) {num += arr3[i]; // 加的是数组元素,而不是计数器}average = num / arr3.length;console.log(num, average); // 输出多个变量用逗号隔开即可
// 2.求数组[2,6,1,77,52,25,7]中的最大值var arr4 = [2, 6, 1, 77, 52, 25, 7];var max = arr4[0];for (var i = 1; i < arr4.length; i++) {if (arr4[i] > max) {max = arr4[i];}}console.log('该数组里面的最大值是:' + max);
// 3.将数组 ['red', 'green', 'blue', 'pink'] 转换为字符串,并且用 | 或其他符号分割var arr5 = ['red', 'green', 'blue', 'pink'];var num2 = '';var sep = '|';for (var i = 0; i < arr5.length; i++) {num2 += arr5[i] + sep;}console.log(num2);

6.数组中新增元素

​ (1)改变length长度

  数组[ 数组.length ] = 新数据;
 var arr6 = [1, 2, 3, 4];console.log(arr6.length);arr6.length = 6;// 这里将数组长度修改为了6console.log(arr6);

(2)修改索引号,追加数组元素

 var arr7 = ['red', 'green', 'blue'];arr7[3] = 'yellow'; // 新增数组arr7[0] = 'yellow'; // 替换数组console.log(arr7);arr7 = '直接给数组赋值,里面之前存的数组元素会被替代';console.log(arr7);

7.筛选数组

// 将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组var arr9 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];var newArr = [];// newArr.length可以自动检测数组长度,刚开始newArr.length是0for (var i = 0; i < arr9.length; i++) {if (arr9[i] >= 10) {newArr[newArr.length] = arr9[i];}}console.log(newArr);

8.数组去重

// 将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 0 去掉后,形成一个不包含 0 的新数组var arr10 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];var newArr1 = [];for (var i = 0; i < arr10.length; i++) {if (arr10[i] !== 0) {newArr1[newArr1.length] = arr10[i];}}console.log(newArr1);

7.翻转数组

// 将数组 ['red', 'green', 'blue', 'pink', 'purple'] 的内容反过来存放var arr11 = ['red', 'green', 'blue', 'pink', 'purple'];var newArr2 = [];for (var i = arr11.length - 1; i >= 0; i--) {newArr2[newArr2.length] = arr11[i];}console.log(newArr2);

8.数组排序(冒泡排序)

//数组排序(冒泡排序):依次比较两个元素,如果顺序错误就交换过来var arr12 = [4, 1, 2, 3, 5];for (var i = 0; i < arr12.length - 1; i++) { // 外层循环管趟数for (var j = 0; j < arr12.length - i - 1; j++) {             // 里层循环管每一趟的次数if (arr12[j] > arr12[j + 1]) {var temp = arr12[j];arr12[j] = arr12[j + 1];arr12[j + 1] = temp;}}}console.log(arr12);

8、javascript数组相关推荐

  1. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  2. 这是如何更好地利用JavaScript数组的方法

    by pacdiv 由pacdiv 这是如何更好地利用JavaScript数组的方法 (Here's how you can make better use of JavaScript arrays) ...

  3. Javascript 数组

    Javascript 数组 Javascript中的Array可以包含任意数据类型,并通过索引来访问每个元素. 要取得Array的长度,直接访问length属性: var arr = [1, 2, 3 ...

  4. JavaScript 数组拼接打印_JavaScript 数组方法

    JavaScript 数组方法 JS 数组 JS 数组排序 JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值 ...

  5. 如何将JavaScript数组信息导出到csv(在客户端)?

    本文翻译自:How to export JavaScript array info to csv (on client side)? I know there are lot of questions ...

  6. 从JavaScript数组中获取随机项[重复]

    本文翻译自:Get random item from JavaScript array [duplicate] This question already has answers here : 这个问 ...

  7. 创建零填充JavaScript数组的最有效方法?

    在JavaScript中创建任意长度的零填充数组的最有效方法是什么? #1楼 使用对象符号 var x = []; 零填充? 喜欢... var x = [0,0,0,0,0,0]; 充满" ...

  8. 判断javascript数组的方法

    2019独角兽企业重金招聘Python工程师标准>>> 判断javascript数组的方法 var is_array=function(){ return value &&a ...

  9. 深入浅出 JavaScript 数组 v0.5

    有一段时间不更新博客了,今天分享给大家的是一篇关于JS数组的,数组其实比较简单,但是用法非常灵活,在工作学习中应该多学,多用,这样才能领会数组的真谛. 以下知识主要参考<JS 精粹>和&l ...

  10. Javascript数组操作(转)

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

最新文章

  1. python No tests were found问题解决方法
  2. 使用python对比两个目录下的文件名差异
  3. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
  4. 7、Power Map—实例:添加二维数据表以及批注
  5. php5.5 反序列化利用工具_%00截断配合反序列化的奇妙利用
  6. 嵌入式笔录(4)-LC并联电路选频和AM解调
  7. 项目管理工具之maven
  8. final 最终 java 1614876717
  9. 为USB网卡(水星MW150US)编译树莓派上的驱动
  10. Linux思维导图之inode、mv、cp和硬软链接
  11. Python项目实践:天天向上的力量
  12. 面试题 02.04. 分割链表
  13. 扩展:js控制台输出,除了 console.log还有哪些?
  14. Android存储--SharedPreferences
  15. live2dmesh渲染优先级_如何渲染Live2D模型
  16. 【爆肝帝,花费3个月整理】金九银十面试季,2020-2021字节跳动所有,软件测试面试题拿走不谢!(附详细答案解析)
  17. 电脑能正常上网上网,某些软件不能上网
  18. 让Vim打造成强大的IDE,附_vimrc的配置和使用
  19. 人工智能ai用什么编程语言_2020年人工智能的5种最佳编程语言
  20. 《Python程序设计与算法基础教程(第二版)》江红 余青松 全部章节的课后习题,上机实践,课后答案,案例研究

热门文章

  1. docker安装xware 实现迅雷远程下载
  2. php thrift 编译,Thrift 源码编译
  3. 安装Rhythmbox mp3插件
  4. 论文阅读:Improved Denoising Diffusion Probabilistic Models
  5. Python学习笔记 第四天
  6. 裸设备和Oracle问答20例
  7. 计算机网络与互联网的区别,计算机网络与互联网的主要区别是什么?
  8. 《西部世界》第三季开播,机器人会比人类更有人性吗?
  9. linux图片裁剪软件安卓版,PS图片裁剪软件下载-PS图片裁剪助手appv1.0.1-Linux公社...
  10. cd/etc 文件目录浅解