资讯专栏INFORMATION COLUMN

JavaScript学习第四天笔记(数组)

lncwwn / 2766人阅读

摘要:示例代码如下索引数组输出结果为索引数组关联数组注意关联数组的数组的长度与元素的个数不一致,原因是的官方不支持关联数组。定义一个空数组访问二维数组中的元素循环遍历二维数组

数组 概述 数组是什么

数组是值的有序集合。数组中的每个值叫做一个元素,而每个元素在数组中都右一个唯一的位置。这个位置用数字表示,叫做索引数组;用字符串表示,叫做关联数组。
JavaScript数组是无类型的;数组的元素可以是任何的类型(字符串,数字值,布尔值等),并且每个数组的不同元素可能是不同的类型。
JavaScript数组是动态的:根据需要,可以动态地向数组插入新的元素,或者从数组中删除指定的元素

一维数组 定义数组 1.使用字面量/直接量方式定义

语法:

 var 数组名称 = [元素1,元素2,...]

示例代码:

var arr1 = [];/*定义一个空数组*/
var arr2 = [100,"星矢",true];
console .log(arr1);/*输出结果为:[]*/
console .log(arr2);/*输出结果:[100,"星矢",true]*/
2.构造函数方式

语法:

 var 数组名称 = new Array (元素1,元素2,...);
 var 数组名称 = new Array (length);/*length是number类型 表示数组的长度(存在的元素个数)*/

示例代码:

var arr1 = new Array ();/*定义一个空数组*/
var arr2 = new Array (100,"星矢",true);
var arr3 = new Array (length);
console .log(arr1);  输出结果:[100,"星矢",true]*/
console .log(arr2);  /*输出结果:*/
console .log(arr3);  /*输出结果:[ <10 empty items> ]*/ 
3.函数方式定义

语法:

 var 数组名称 = Array(元素1,元素2,元素3...);
 var 数组名称 = Array(length); 

示例代码:
var arr1 = Array(100,5,2,);
var arr2 = Array(5);
console .log(arr1);/输出结果:[ 100, 5, 10 ]/
console .log(arr2);/输出结果:[ <50 empty items> ]/

索引数组 概述

索引数组就是存储元素的位置使用数字值来表示,一般称之为下标或角标。数组的长度与元素的个数是一致的,数字是以0开头的。
示例代码如下:

var arr = [];
arr[0]="索引数组";
arr[1]=100;
arr[2]=true;
console .log(arr);/*输出结果为: ["索引数组",100,true]*/
关联数组

注意:关联数组的数组的长度与元素的个数不一致,原因是JavaScript的官方不支持关联数组。

var arr = [];/*定义一个空数组*/
arr["who"]="谁啊"
arr["what"]="啥啊"
arr["how"]="咋的了"
console .log(arr);/*输出结果:[ who: "谁啊", what: "啥啊", how: "咋的了" ]*/
稀疏数组

索引数组的位置允许不连续的,没有定义的元素的位置默认为空(undefined),这样的数组叫做稀疏数组,数组的长度与元素的个数是不一样的。
示例代码:

var arr = [];
arr[0]="谁啊";
arr[5]="啥啊";
arr[6]="咋的了";
console .log(arr);
console .log(arr.length);/*输出的结果为:
                          [ "谁啊", <4 empty items>, "啥啊", "咋的了" ]
                          7
                         */

将稀疏数组进行处理,得到正常的索引数组

var newArr=[];
for (var i=0; i
访问数据的元素

示例代码如下:

// 定义数组的默认为索引数组
var arr = ["索引数组",100,null];
// 调用数组名称时,得到只是存储所有元素数据的集合
console.log(arr);
// 访问索引数组中的元素 -> 数组名称[索引值]
console.log(arr[0]);
// 如果访问了数组中未定义的位置的元素时 - 语法不抱错,结果为 undefined
console.log(arr[5]);
// 索引数组中索引值最大为 arr.length - 1

// JavaScript中的关联数组定义与访问都是没有问题的
var arr1 = [];
arr1["name"] = "Chambers";
arr1["age"] = 23;
arr1["job"] = "学生";

console.log(arr1["name"]);
数组的修改

示例代码:

var arr1 = [];
arr1[0] = "卧龙学苑";
arr1[1] = true;
// 关联数组
var arr2 = [];
arr2["name"] = "张无忌";
arr2["age"] = 19;
arr2["job"] = "教主";
// 通过数组的索引值找到对应元素的位置,再通过重新赋值的操作进行修改
arr1[0] = 100;
console.log(arr1);

arr2["name"] = "周芷若";2176491621
console.log(arr2);
// 如果索引值是新的,就是新增数组的元素操作
arr1[4] = "卧龙学苑";
console.log(arr1);
数组的删除
var arr1 = [];
arr1[0] = "卧龙学苑";
arr1[1] = true;
// 关联数组
var arr2 = [];
arr2["name"] = "张无忌";
arr2["age"] = 19;
arr2["job"] = "教主";

/*
    使用 delete 运算符进行删除数组的元素
    * 注意 - 只是删除元素的数据内容,而对应的位置被保留 -> 稀疏数组
  */
delete arr1[0];
console.log(arr1);
循环遍历数组
var arr = ["卧龙学苑", 100, true, undefined];
for (var i=0; i
for...in语句

在ECMAScript5中新增了for...in语句 同样可用于遍历数组
for...in语句还可以用于遍历稀疏数组 循环的每次将一个有效元素返回
for语句: 循环的开始和结束 都是由程序员决定的
for..in语句: 循环只能从开始到结束

var arr = ["卧龙学苑", 100, true, undefined];
for (var i in arr) {
    console.log(arr[i]);
}
二维数组 什么是二维数组

数组是可以嵌套的,这就意味着数组可以作为一个元素被包含在另外一个数组里面,利用JS这个特点创建二维数组,即数组的数组。

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           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96780.html

相关文章

  • 26天学通前端开发(配资料)

    摘要:网上有很多前端的学习路径文章,大多是知识点罗列为主或是资料的汇总,数据量让新人望而却步。天了解一个前端框架。也可以关注微信公众号晓舟报告,发送获取资料,就能收到下载密码,网盘地址在最下方,获取教程和案例的资料。 前言 好的学习方法可以事半功倍,好的学习路径可以指明前进方向。这篇文章不仅要写学习路径,还要写学习方法,还要发资料,干货满满,准备接招。 网上有很多前端的学习路径文章,大多是知...

    blair 评论0 收藏0
  • JavaScript学习笔记四天_面向对象编程

    摘要:即另外,注意到构造函数里的属性,都没有经过进行初始化,而是直接使用进行绑定。并且在模式下,构造函数没有使用进行调用,也会导致报错。调用构造函数千万不要忘记写。 1. 基础 JavaScript不区分类和实例的概念,而是通过原型来实现面向对象编程。Java是从高级的抽象上设计的类和实例,而JavaScript的设计理念,听起来就好比Heros里的Peter,可以复制别人的能力。JavaS...

    weapon 评论0 收藏0
  • [学习笔记] JavaScript中的 this

    摘要:但是总有一个原则,那就是指的是调用函数的那个对象。还有另一个原则当没有明确的调用函数的那个对象时,指向全局对象,浏览器模式下就是了。设置的值这两个方法的作用都是在特定的作用域中调用函数,从而设置了函数体内的值。 感觉上篇文章还是三四天前写的,看看日期已经10天了。。时间过的真快!赶紧补篇,js中的this是我学习了但一直没来得及总结的,今天就简要说说 this 吧~ this简述 ...

    xioqua 评论0 收藏0
  • 四天

    摘要:三个小时今天学到了什么背景边框列表链接今天遇到了什么问题好多概念其实搞不太懂。比如继承,伪元素。 2019.3.9 三个小时 今天学到了什么? 背景 边框 列表 链接 今天遇到了什么问题 好多概念其实搞不太懂。比如继承,伪元素。 笔记 第四天

    DobbyKim 评论0 收藏0
  • 【牛客网】-- 日日刷(四天)

    摘要:断更了,家里出了一点事情,回家了几天,然后回头看发现握草,断了天,因此,每天补一个吧下列符号中可以在程序里表示单行注释的是个人见解选项目前我只在语法中使用过,代表注释的意思选项是多行注释选项是单行注释选项是文档注释在方法中给出的整型数组 断更了,家里出了一点事情,回家了几天,然后回头看发现握草,断了12天,因此,每天补一个吧 ==============================...

    sunsmell 评论0 收藏0

发表评论

0条评论

lncwwn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<