文章目录

  • 一、一维数组
    • 1、创建数组
      • (1)创建空数组,逐个赋值
      • (2)创建数组同时赋值
      • (3)创建字面量数组
    • 2、添加数组元素
    • 3、数组长度属性length
    • 4、遍历数组
      • (1)传统for循环
      • (2)增强for循环
    • 5、数组常用方法
      • (1)toString()方法
      • (2)join(分隔符)方法
      • (3)shift()方法
      • (4)unshift()方法
      • (5)pop()方法
      • (6)push()方法
      • (7)slice()方法
      • (8)sort()方法
      • (9)reverse()方法
      • (10)splice()方法
      • (11)concat()方法
  • 二、二维数组
    • 1、创建二维数组
      • (1)逐个赋值
      • (2)静态初始化整个二维数组
    • 2、遍历二维数组

数组是一组数据构成的集合,通过下标或索引访问里面的元素。

一、一维数组

1、创建数组

(1)创建空数组,逐个赋值

<script type="text/javascript">// 创建数组var scores = new Array();// 逐个赋值scores[0] = 89;scores[1] = 90;scores[2] = 67;scores[3] = 75;scores[4] = 45;// 输出数组document.write(scores);
</script>

(2)创建数组同时赋值

<script type="text/javascript">         // 创建数组同时赋值var scores = new Array(89,90,67,75,45);// 输出数组document.write(scores);
</script>

(3)创建字面量数组

<script type="text/javascript">     // 创建字面量数组var scores = [89,90,67,75,45];// 输出数组document.write(scores);
</script>


注意:数组存储的数据可以是任何类型(数字、字符、布尔值等)

<script type="text/javascript">         // 创建数组var student = new Array();// 逐个赋值student[0] = 1;student[1] = '张三丰';student[2] = true;student[3] = new Date(1997, 6, 5);// 输出数组document.write(student);
</script>

2、添加数组元素

只需使用下一个未使用的索引,任何时刻可以不断地向数组增加新元素。

<script>var cities = ['北京','上海','广州','深圳'];document.write(cities + '<br/>');cities[4] = '泸州';document.write(cities + '<br/>');cities[10] = '宜宾';document.write(cities + '<br/>');
</script>

3、数组长度属性length

数组的length属性表示数组的长度,即数组元素的个数。
数组arr的索引取值范围:[0, arr.length - 1]

<script>var arr = [45,56,67,23,90,100];document.write("数组内容:" + arr + "<br/>");document.write("数组长度:" + arr.length + "<br/>");document.write("第一个元素:" + arr[0] + "<br/>");document.write("最后一个元素:" + arr[arr.length - 1]+ "<br/>");
</script>


注意,数组的length属性是可变的,增加了数组元素或减少了数组元素,length属性值都会发生变化。

arr[8] = 88;
document.write("数组内容:" + arr + "<br/>");
document.write("数组长度:" + arr.length + "<br/>");document.write("移除第一个元素:" + arr.shift() + "<br/>");
document.write("数组内容:" + arr + "<br/>");
document.write("数组长度:" + arr.length + "<br/>");


可以直接修改length属性值,如果修改值大于数组原有长度,那么不影响原有数据,只是添加一些空值。但是修改值小于数组原有长度,那么就会导致部分数据丢失。

arr.length = 12;
document.write("数组内容:" + arr + "<br/>");
document.write("数组长度:" + arr.length + "<br/>");arr.length = 3;
document.write("数组内容:" + arr + "<br/>");
document.write("数组长度:" + arr.length + "<br/>");

4、遍历数组

(1)传统for循环

<script>var cities = ['北京','上海','广州','深圳','泸州'];// 采用传统for循环遍历数组for (var i = 0; i < cities.length; i++) {document.write('cities[' + i + '] = ' + cities[i] + '<br/>');}
</script>

(2)增强for循环

// 采用增强for循环遍历数组
for (var i in cities) {document.write('cities[' + i + '] = ' + cities[i] + '<br/>');
}

5、数组常用方法

(1)toString()方法

<script>var arr = ['12','34','67','89','47','21','89','100','50'];var arr_str = arr.toString();document.write(typeof arr_str + ': ' + arr_str);
</script>

(2)join(分隔符)方法

如果不设置分隔符,默认是逗号作为分隔符。

document.write(arr.join());
document.write(arr.join('-'));
document.write(arr.join(' '));

(3)shift()方法

移除数组头部元素,返回的也是数组头部元素。

document.write('移除头部元素:' + arr.shift() + '<br/>');
document.write('数组内容:' + arr + '<br/>');

(4)unshift()方法

在数组头部添加新元素。

document.write('在头部添加新元素:99' + '<br/>');
arr.unshift(99);
document.write('数组内容:' + arr + '<br/>');

(5)pop()方法

移除数组尾部元素,返回的也是数组尾部元素。

document.write('移除尾部元素:' + arr.pop() + '<br/>');
document.write('数组内容:' + arr + '<br/>');

(6)push()方法

在数组尾部添加新元素,一个或多个。

document.write('在尾部添加新元素:12,55' + '<br/>');
arr.push(12,55);
document.write('数组内容:' + arr + '<br/>');

(7)slice()方法

slice()方法是对数组进行切片操作,返回数组的一部分内容。

document.write('数组内容:' + arr + '<br/>');
document.write('slice(0,3):' + arr.slice(0,3) + '<br/>');
document.write('slice(2,6):' + arr.slice(2,6) + '<br/>');

(8)sort()方法

sort()默认是按字母排序。

document.write('数组内容:' + arr + '<br/>');
document.write('排序数组内容:' + arr.sort() + '<br/>');


大家可以看到,arr是按字母排序的,不是按数字排序的。
如果要按数字排序,那么就要传入一个函数作为参数。

function num_asc(a, b) {return a - b; // 升序
}
document.write('按数字升序:' + arr.sort(num_asc) + '<br/>');function num_des(a, b) {return b - a; // 降序
}
document.write('按数字降序:' + arr.sort(num_des) + '<br/>');

(9)reverse()方法

该方法将数组进行反序操作。

document.write('原序数组:' + arr + '<br/>');
arr.reverse();
document.write('反序数组:' + arr + '<br/>');

(10)splice()方法

该方法用于插入或删除数组元素。

// 从索引为2的元素开始,删除4个元素
arr.splice(2, 4);
document.write('数组内容:' + arr + '<br/>');
// 从索引为2的位置开始,插入4个元素
arr.splice(2, 0, '34', '47', '55', '67');
document.write('数组内容:' + arr + '<br/>');

(11)concat()方法

该方法用于连接两个数组。

var arr1 = [1, 2, 3];
var arr2 = ['北京', '上海', '广州'];
var arr3 = arr1.concat(arr2);
document.write('arr1:' + arr1 + '<br/>');
document.write('arr2:' + arr2 + '<br/>');
document.write('arr3:' + arr3 + '<br/>');

二、二维数组

1、创建二维数组

(1)逐个赋值

<script>// 创建二维数组var arr = new Array();for (var i = 0; i < 3; i++) {arr[i] = new Array();for (var j = 0; j < 4; j++) {arr[i][j] = (i + 1) * (j + 1);}}// 输出二维数组document.write('全部元素:' + arr + '<br/>');        document.write('行数:' + arr.length + '<br/>');document.write('列数:' + arr[0].length + '<br/>');
</script>

(2)静态初始化整个二维数组

<script>// 创建二维数组var arr = [[3, 4, 6, 7],[6, 3, 9, 1],[5, 8, 2, 3]];// 输出二维数组document.write('全部元素:' + arr + '<br/>');      document.write('行数:' + arr.length + '<br/>');document.write('列数:' + arr[0].length + '<br/>');
</script>

2、遍历二维数组

// 遍历二维数组
for (var i = 0; i < arr.length; i++) {for (var j = 0; j < arr[i].length; j++) {document.write(arr[i][j] + ' ');}document.write('<br/>');
}

JavaScript学习笔记:数组相关推荐

  1. (10)JavaScript学习笔记 - 数组

    一.创建 //最简单的方法就是使用数组直接量 var empty=[]; var primes=[2,3,4,5,6]; var misc=[1.1,true,"a"];//数组直 ...

  2. 19.JavaScript学习笔记——数组

    数组 文章目录 数组 1. 数组定义 1.1 数组字面量 1.2 Array构造函数 1.3 关于数组空位 1.4 ES6新增创建数组的静态方法(了解) 2. 数组的读和写 3. 数组的常用方法(基于 ...

  3. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  4. JavaScript学习笔记(六)--数组

    数组初始化 我们都知道,数组是用于保存多个值的集合,在数组中,值被称为元素,值可以是任意的数据类型.在Javascript中,创建数组通常有两种方式:字面量和构造函数. 字面量 数组的元素可以是任意的 ...

  5. JavaScript 学习笔记(1)

    1.     何为 Jscript JScript 是一种解释型的.基于对象的脚本语言. 局限性: 1)        不能使用该语言来编写独立运行的应用程序 2)        没有对读写文件的内置 ...

  6. 前端获取div里面的标签_web前端教程JavaScript学习笔记DOM

    web前端教程JavaScript学习笔记 DOM一DOM(Document Object Model): 文档对象模型 其实就是操作 html 中的标签的一些能力 我们可以操作哪些内容 获取一个元素 ...

  7. JavaScript学习笔记05【高级——DOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  8. JavaScript学习笔记02【基础——对象(Function、Array、Date、Math)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  9. 正则至少一个数字_好程序员web前端培训分享JavaScript学习笔记之正则

    好程序员web前端培训分享JavaScript学习笔记之正则,正则表达式,又名 "规则表达式" 由我们自己来书写 "规则",专门用来检测 字符串 是否符合 &q ...

  10. JavaScript学习笔记:对象

    JavaScript学习笔记:对象 1.声明对象 (1)字面量对象 <!DOCTYPE html> <html lang="en"> <head> ...

最新文章

  1. Java项目:智能制造生产管理平台(java+SSM+mysql+Maven+Easyui+JSP)
  2. 神经网络基础及逻辑回归实现
  3. 【Python-ML】无监督线性降维PCA方法
  4. core和node开发小程序_成都小程序开发:微信小程序开发要多少钱?
  5. linux驱动导出文件属性,将Linux配置文件和设置备份到USB闪存驱动器的方法
  6. 顶社区创始人:解读顶社区的背后的事
  7. 数据库基础(5)1NF,2NF,3NF,BCNF 四大范式的定义和判别
  8. Java 数据字典的实现
  9. 关于微信第三方服务消息提醒
  10. 个人博客系统项目-已开源
  11. win10提示无法打开这个应用怎么办
  12. 多传感器融合track fusion
  13. 华为鸿蒙系统操作教程_华为鸿蒙系统2.0怎么安装 鸿蒙系统2.0安装教程[多图]
  14. vue语法、跨域报错等问题集合
  15. TCP连接的建立和释放过程详解(三次握手、四次挥手)
  16. jchdl - RTL实例 - MOS6502 ALU (Verilog)
  17. 51单片机C语言程序100例分析(1)IO+C语言+头文件
  18. Centos7安装trash-cli
  19. 【algods】4.树和二叉树、完全二叉树、满二叉树、二叉查找树、平衡二叉树、堆、哈夫曼树、散列表...
  20. python中的无穷大

热门文章

  1. 90%代码如何实现自动迁移到鲲鹏平台?
  2. 用生动的案例一步步带你学会python多线程模块
  3. MapReduce源码刨析
  4. 编写函数实现有序数组的二分查找
  5. C++中使用set和unordered_set的find方法时遇到的小坑
  6. LaTeX中常用表格制作方法总结
  7. 【java基础知识】spring框架开发时,怎样解决mysql数据库中Timestamp到String的简单转换
  8. 【python基础知识】调用C++接口(setup.py运行)出现的各种问题
  9. 关于计算机维护的相关试题,比较好写的计算机系统维护论文选题 计算机系统维护论文题目哪个好...
  10. 修改oracle的表空间文件scn,分享:bbed修改数据文件头推进scn与其他数据文件相同...