【JavaScript】8月9号第四天

2018-08-10 admin

JS(JavaScript)

数组;

一.数组是什么;

是值得有序集合,每个元素都在数组里有唯一的位置,用数字表示,叫做索引数据;用字符串表示,叫关联数组。 数组无类型;数组元素可以是类型,字符串,数字值,布尔值等 数组动态的;向插入新元素,从数组中删除指定元素

二.一维数组;

1.定义数组;

  • 字面量/直接量方式定义 var 数组名称 = [元素一, 元素二, …]

  • 构造函数方式 var 数组名称 = new Array(元素一, 元素二, …) var 数组名称 = new Array(length)

    • length - number类型,表示数组的长度(存在元素的个数)
  • 函数方式定义 var 数组名称 = Array(元素一, 元素二, …) var 数组名称 = Array(length)

    • length - number类型,表示数组的长度(存在元素的个数)

    1.字面量/直接量方式定义
      var 数组名称 = [元素一, 元素二, ...]

var arr1 = [];// 定义一个空数组
var arr2 = [100, '爱新觉罗', true, undefined];
var arr6 = [10];

console.log(arr6);

    2.构造函数方式
      var 数组名称 = new Array(元素一, 元素二, ...)
      var 数组名称 = new Array(length)
      * length - number类型,表示数组的长度(存在元素的个数)

var arr3 = new Array();// 定义一个空数组
var arr4 = new Array(100, '爱新觉罗', true, undefined);
console.log(arr4);

var arr5 = new Array(10);
console.log(arr5);

    3.函数方式定义
      var 数组名称 = Array(元素一, 元素二, ...)
      var 数组名称 = Array(length)
      * length - number类型,表示数组的长度(存在元素的个数)
var arr7 = Array();// 定义一个空数组
var arr8 = Array(100, '爱新觉罗', true, undefined);
var arr9 = Array(10);
console.log(arr9);

2.索引数组;

就是存储元素的位置并以数字值来表示,数字值从0开始,一般称为索引值 /*

索引数组 - 表示数组中元素的位置使用数字值来表示的
* 数字值表示元素的位置 -> 角标或下标
* 数组的长度与元素的个数是一致的

*/ var arr = [];// 定义一个空数组 arr[0] = ‘爱新觉罗’; arr[1] = true;

console.log(arr.length);

 3.关联数组;

存储元素的位置使用字符串来表示

/*

关联数组 - 表示数组中元素的位置使用字符串来表示的
* 注意:关联数组的数组长度与元素的个数不一致
* 原因:JavaScript的官方不支持关联数组的

*/ var arr = [];// 定义一个空数组 arr[‘name’] = ‘张无忌’; arr[‘age’] = 19; arr[‘job’] = ‘教主’; // 输出的结果:[ name: ‘张无忌’, age: 19, job: ‘教主’ ] console.log(arr.length);

 4.稀疏数组;

包含0开始的不连续索引的数组

var arr = []; arr2[0] = ‘犬夜叉’; arr2[3] = 16; arr2[5] = ‘半妖’; /*索引数组的位置允许不连续;没有定义元素的位置默认为空(undefined)

* 稀疏数组;数组的长度与元素的个数不一致的*/

console.log(arr.length); var newArr = []; for (var i=0; i<arr.length; i++) {

// 比较当前值是否等于 undefined
if (arr[i] !== undefined) {
    newArr.push(arr[i]);
}

} console.log(newArr);


 5.数组的长度;

以length属性,用来表示指定数组的长度和个数
 6.数组元素的读取;

用于存储和读取数据信息

var arr = [‘爱新觉罗’,100,null]; console.log(arr); //调用数组名称,得到只是存储所有元素数值的集合 console.log(arr[0]); //访问索引数组中的元素;数组名称[索引值] console.log(arr[5]); //如果访问了数组中未定义位置的冤死时;语法不报错,结果是 undefined //索引数组中索引值最大为 arr.length;1

//JS(JavaScript)中关联数组定义,访问都没有问题 var arr1 = []; arr1[‘name’] = ‘犬夜叉’; arr1[‘age’] = 16; arr1[‘job’] = ‘半妖’; console.log(arr1[‘name’]);


 7.数组元素的修改;

可读取指定元素,并进行修改数组中指定元素值

var arr1 = []; arr1[0] = ‘爱新觉罗’; arr1[1] = true;

var arr2 = []; arr2[‘name’] = ‘犬夜叉’; arr2[‘age’] = 16; arr2[‘job’] = ‘半妖’; arr1[0] = 100; console.log(arr1);

arr2[‘name’] = ‘杀生丸’; console.log(arr2); //通过数字索引值到对应元素的位置,再通过重新赋值操作进行修改 arr1[4] = ‘爱新觉罗’; console.log(arr1); //如果索引值是新的,就是新增数组的元素操作


 8.数组元素的删除;

使用delete关键字竞秀删除数组中指定的元素值

var arr1 = []; arr1[0] = ‘爱新觉罗’; arr2[1] = true;

var arr2 = []; arr2[‘name’] = ‘犬夜叉’; arr2[‘age’] = 16; arr2[‘job’] = ‘半妖’;

delete arr1[0]; console.log(arr1); /*使用delete运算符进行删除数组元素

  • 只是删除元素数据内容,而对应位置被保留;稀疏数组 */

 9.遍历数组元素;

通常使用循环语句获取数组的数据

var arr = [‘爱新觉罗’,100,true,undefined]; /*var i = 0; while (i < arr.length){

  console.log(arr[i]);

  i++;

} //while语句 var i = 0; do {

console.log(arr[i]);

i++;

} while (i < arr.length); //do…while语句*/ for (var i=0; i<arr.length; i++) {

console.log(arr[i]);

} //for语句

10.for…in语句

可以用来遍历稀疏数组,循环每次一有效元素返回,不存在索引不会遍历到

// 关联数组的length属性为 0
var arr1 = [];
arr1['name'] = '犬夜叉';
arr1['age'] = 16;
arr1['job'] = '半妖';

/*for (var i=0; i<arr1.length; i++) {
    console.log(arr1[i]);
}*/
// for..in语句可以循环遍历关联数组, for语句不行
for (var i in arr1) {
    console.log(arr1[i]);
}

// 稀疏数组 - 数组的长度与元素的个数不一致
var arr2 = [];
arr2[0] = '犬夜叉';
arr2[3] = 16;
arr2[5] = '半妖';

/*for (var i=0; i<arr2.length; i++) {
    console.log(arr2[i]);
}*/
// for..in语句循环遍历稀疏数组(直接得到有效元素值), for语句不行
for (var i in arr2) {
    console.log(arr2[i]);
}

三.二维数组;

1.二维数组是什么;


可以嵌套,表示在一个数组可以以一个元素包裹在另一个数组里面 2.定义二维数组;


为规整和不规整的二维数组,是指外层数组元素内部数据元素的个数是一致还有不一样的 3.使用二维数组;


获取二维数组,中元素内容,使用练习需要连续2个索引值一个表示外层索引值一个内部索引值

var arr = [];// 定义一个空数组
arr[0] = [100,200,300];
arr[1] = [400,500,600];
arr[2] = [700,800,900];

// console.log(arr);
// 访问二维数组中的元素
var result = arr[0];
/*console.log(result[0]);

console.log(arr[0][0]);*/

// 循环遍历二维数组
for (var i=0; i<arr.length; i++) {
    console.log(arr[i]);
    for (var j=0; j<arr[i].length; j++) {
        console.log(arr[i][j]);
    }
}

原文链接:https://segmentfault.com/a/1190000015953508

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-37667.html

文章标题:【JavaScript】8月9号第四天

相关文章
javascript是什么意思
avaScript是Netscape开发的一个对象脚本语言,它使用在世界各地数以百万计的网页和服务器应用程序上。 网景的JavaScript是ecma - 262版的标准脚本语言,和公布的标准只有轻微的差异。 与广为流行的错误理解相反,Ja...
2015-11-12
21天学通javascript
简介: 本书是Javascript入门教程。Javascript是Web开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意义上的动态语言。本书总分为四篇,共21章...
2015-11-16
JavaScript的组成
一个完整的JavaScript由3个部分组成:核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript 描述了该语言的语法和基本对象 ; DOM 描述了处理网页内容的方法和接口 ; BOM 描...
2015-11-12
JavaScript 事件流、事件处理程序及事件对象总结
JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式,支持页面的行为与页面的外观之间的松散耦合。...
2017-04-05
JavaScript变量的声明
声明变量 变量在脚本中的首次亮相是在其声明中。 在变量首次出现时将会在内存中设置它,因此您稍后可在脚本中引用它。 应在使用变量之前先声明变量。 可以使用 var 关键字实现此目的。 &lt;span id=“mt9” class=“sent...
2015-11-12
7个提高效率的JavaScript调试工具
鐜板湪鐨凧avaScript浜嬪疄涓婂凡鐒舵垚涓轰簡娴佽�岀殑web璇�瑷€锛屽嵆浣垮畠骞朵笉瀹岀編銆傚緢澶氱▼搴忓憳涓嶅枩娆㈢敤JavaScript鍐欎唬鐮侊紝鏄�鍥犱负鍐欏埌鍚庢潵鎬讳細鍑虹幇鍚勭�嶈帿鍚嶅叾濡欑殑bug锛岃€屼笖鍦ㄥ紑...
2015-11-11
7个让JavaScript变得更好的注意事项
随着浏览器性能提高,伴随着新的HTML5的编程接口的稳步采用,网页上的JavaScript的音量在逐渐增加。然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力。 开发人员必须使用所有供他们任意使用的工具和技...
2015-11-12
JavaScript短路原理精简代码
js中||和&amp;&amp;的特性帮我们精简了代码的同时,也带来了代码可读性的降低,虽然高效,但请灵活使用。 在js逻辑运算中,0、&quot;&quot;、null、false、undefined、NaN都会判为false,其他都为t...
2015-11-12
《JavaScript快速查询手册》PDF
下载地址:《JavaScript快速查询手册》PDF下载 http://pan.baidu.com/s/130rP8’ 简介: JavaScript快速查询手册 目录 前言 第一部分 命令查询 第二部分 JavaScript语句与运算符 第...
2015-11-16
JavaScript游戏之连连看源码分享
JavaScript游戏之连连看源码 下载地址:JavaScript游戏之连连看源码 解压密码:www.javascriptcn.com ...
2015-11-12
回到顶部