`

JavaScript中的Array的创建方式和Array与Map的应用

阅读更多
一直以来对JavaScript中创建数组有几种方式,每种创建方式的区别,JavaScript中map的创建方式及其使用认识的不是很清楚,还好利用周末自己看了点资料并写了几个小例子,以此来加深自己对JS中的Array和Map的认识,以后在项目中遇到就可以完全知晓了。

直接点,上代码!代码比较简单,并且代码中加有注释,希望能够帮助加深理解。

说明:array.html中是Array创建及使用的例子,array-map.html中是map与array间关系及其间转化的例子

array.html文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>Array 测试</title>
		<script language="JavaScript1.2">
			//1.定义一个初始容量为0的数组(数组中没有任何元素)
			document.write("-------------------------------"+'<br/>');
			var myarray = new Array();
			document.write("new Array()方式初始的数组的初始容量为:"+myarray.length+"<br/>");
			myarray[0]="new Array() 1";
			myarray[1]="new Array() 2";
			myarray.push("new Array() 3","new Array() 4");
			for(var i=0;i<myarray.length;i++){
				document.write(myarray[i]+'<br/>');
			}
			document.write("-------------------------------"+'<br/>');
		///////////////////////////////////////////////////////////////////////
		//2.定义数组时,指定初始化数组的大小(数组中没有任何元素)
		//此处定义的arry1数组的大小是3,但我们可以向其添加
		//任意多的元素(此例中,arry1数组的元素个数是8)
		var arry1 = new Array(3);//定义一个初始容量为3的数组
		document.write("new Array(3)方式初始的数组的初始容量为:"+arry1.length+"<br/>");
		arry1[0]="array1";		
		arry1[1]="array2";		
		arry1[2]="array3";
		arry1[3]="array4";
		arry1[4]="array5";
		//向arry1数组的末尾添加一个元素,并返回数组arry1的新的长度
		arry1.push("array6");
		//可以通过push向arry1数组中一次添加多个数组元素
		arry1.push("array7","array8");
		for(var x in arry1){
			document.write(arry1[x]+'<br/>');
		}	
		document.write("arry1.length="+arry1.length+"<br/>");
		//3.定义数组时,并为数组赋初值(数组大小等于初始值的个数)
		document.write("-----------------------------");
		var arraytest = new Array("arraytest1","arraytest2","arraytest3");
		document.write("new Array(arraytest1,arraytest2,arraytest3)方式初始的数组的初始容量为:"+arraytest.length+"<br/>");
		arraytest[3]="arraytest4";
		//向arry1数组的末尾添加一个元素,并返回数组arry1的新的长度
		arraytest.push("arraytest5");
		//可以通过push向arry1数组中一次添加多个数组元素
		arraytest.push("arraytest6","arraytest7");
		for(var x in arraytest){
			document.write(arraytest[x]+'<br/>');
		}
		document.write("------------不使用new 关键字创建数组-----------------"+"<br/>");
		//4.不使用new 关键字定义数组的方式
		var x=[];
		document.write("var x=[];方式创建的数组的初始容量为:"+x.length+"<br/>");
		x.push("中国人","美国人","日本人");
		for(var key in x){
			document.write(x[key]+'<br/>');
		}
		var y=[45,67,89,890];
		document.write("var y=[45,67,89,890];方式创建的数组的初始容量为:"+y.length+"<br/>");
		for(var key in y){
			document.write(y[key]+'<br/>');
		}
		//总结:无论通过哪种方式创建的数组,你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样。
		//注意:如果你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量。
			document.write("-------------数组中的元素是数值-------------"+'<br/>');
			var arrayInts= new Array(1,2,3,4,5,6,7);
			for(var x in arraytest){
			document.write(arrayInts[x]+'<br/>');
		}
			document.write("-------------数组中的元素是逻辑值-------------"+'<br/>');
			var arrayBooleans= new Array(true,false,true,false);
			for(var x in arrayBooleans){
			document.write(arrayBooleans[x]+'<br/>');
		}
			
		
		</script>
	</head>
	<body>
	</body>
</html>


array-map.html文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Array作Map使用方式</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script language="JavaScript1.2">
    	//map1
    	var map1={};
		map1['张三']="028-77777";
		map1['李四']="0532-000000";
		map1['王五']="0816-909090";
		document.write("map1['李四']="+map1['李四']+"<br/>");
		//清空map1中的所有键和值
		map1={};
		document.write("map1['李四']="+map1['李四']+"<br/>");
		//map2
		document.write("------------------------"+"<br/>");
		var map2=new Array();
		map2['张三']="028-77777";
		map2['李四']="0532-000000";
		map2['王五']="0816-909090";
		document.write("map2的大小是:"+map2.length+"<br/>");//这里map2.length显示为0
		document.write("map2['李四']="+map2['李四']+"<br/>");
		document.write("------------------------"+"<br/>");
		map2[0] = "0058-4873621";
		map2[1] = "0358-4873622";
		map2[2] = "0958-4873623";
		document.write("map2的大小是:"+map2.length+"<br/>");//这里map2.length显示为3
		document.write("map2['1']="+map2['1']+"<br/>");
		document.write("map2[1]="+map2[1]+"<br/>");
		for(var i=0;i<map2.length;i++)
		{
		 document.write(map2[i]+"<br/>");
		}
		//map3
		document.write("------------------------"+"<br/>");
		var map3={"姓名":"张三","性别":"女","年龄":26};
		//动态向map3中添加key和value值,方式一:
		map3.婚否="已婚";//此种动态添加map的key和value的方式对添加的map的key标识符的命名有限制:只能以字符开头(字符中不包括"-")
		//例如:map3.-婚否="已婚";或map3.4婚否="已婚";添加的key,js都会报错
		//动态向map3中添加key和value值,方式二:
		//注意:这种方式可以用任意串做map的键.如下:
		map3["民族"]="汉族";
		map3["1-2"]="身高";
		map3["-9"]="体重";
		document.write(map3["1-2"]+"<br/>");
		document.write(map3["-9"]+"<br/>");
		document.write(map3.婚否+"<br/>");
		document.write("------------遍历map3中所有键及其值-----------"+"<br/>");
		for(var key in map3){
			document.write("map3["+key+"]="+map3[key]+"<br/>");
		}
		//使用自定义的属性的数组
		document.write("------------使用自定义的属性的数组-----------"+"<br/>");
		var a=new Array();
		a[0]={};
		a[0].姓名="张三";
		a[0].年龄=26;
		a[0].民族="汉族";
		
		a[1]={};
		a[1].姓名="李四";
		a[1].年龄=28;
		a[1].民族="回族";
		for(var i=0;i<a.length;i++)
		{
		 document.write(a[i].姓名+":"+a[i].年龄+":"+a[i].民族+"<br/>");
		}
		document.write("------------移除a[0]数组后-----------"+"<br/>");
		a.pop(0);//移除下标为0的数组元素
		//a[0]={};//此种方式是清除下标为0的数组中的值,但并没有移除下标为0的数组元素
		for(var i=0;i<a.length;i++)
		{
		 document.write(a[i].姓名+":"+a[i].年龄+":"+a[i].民族+"<br/>");
		}
    </script>

  </head>
  
  <body>
  </body>
</html>
0
2
分享到:
评论

相关推荐

    JavaScript实现Array(数组)和Map

    在JavaScript中,Array和Map是两种非常重要的数据结构,它们各有各的特点和应用场景。这篇文章将深入探讨这两个概念,以及如何在实际开发中使用它们。 首先,Array是JavaScript中最基础的数据结构之一,它允许我们...

    JavaScript 实现Array(数组)和Map

    在JavaScript编程中,Array和Map是两种非常重要的数据结构,它们各自有其独特的作用和应用场景。Array主要用于存储一组有序的元素,而Map则提供了一种键值对的存储方式,适用于关联不同类型的值。 Array(数组)是...

    JavaScript Array map.docx

    在JavaScript中,`Array.prototype.map()` 是一种非常实用的方法,用于创建一个新数组,其结果是调用提供的函数处理原数组的每一个元素。此方法不改变原数组,而是返回一个新的数组。 #### 二、基本用法与定义 `...

    JavaScript中利用Array和Object实现Map的方法

    主要介绍了JavaScript中利用Array和Object实现Map的方法,实例分析了javascript实现map的添加、获取、移除、清空、遍历等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    JavaScript中循环遍历Array与Map的方法小结_.docx

    在JavaScript中,循环遍历Array和Map是常见的操作,尤其对于数据处理和对象操作至关重要。以下是对各种遍历方法的详细说明: 1. **基本for循环**(eg1、eg5): 基本的for循环是最基础的遍历方式,适用于任何具有...

    JavaScript 中的 `Array.prototype.filter` 方法全解析

    在 JavaScript 编程中,处理数组是一项基本而重要的任务。数组的过滤操作是其中的一个常见...此外,了解其与 Array.prototype.map 和 Array.prototype.reduce 的结合使用,可以帮助你更好地编写高效且易于维护的代码。

    JavaScript应用程序经典实例全书源码

    4. **数组与集合方法**:JavaScript中的Array对象提供了很多实用的方法,如push、pop、shift、unshift、splice、slice、concat、join、map、filter、reduce等,这些在处理数据时非常常用。 5. **事件处理**:...

    在JavaScript中实现map对象

    虽然ES6引入了内置的`Map`构造函数,但在本文中,我们将通过模拟的方式,利用JavaScript中的数组来实现一个简易版的Map对象。 #### 二、设计思路 我们的目标是创建一个名为`Map`的构造函数,该函数具备以下方法: -...

    array-to-map-源码.rar

    2. **JavaScript**:在JavaScript中,可以使用`Array.prototype.reduce()`方法将数组转换为对象(相当于Map): ```javascript let array = ...; let map = array.reduce((acc, item) =&gt; { acc[item.key] = item....

    浅谈JavaScript中ES6新增的Set和Map结构以及Array.from方法

    Set 和 Map 是 JavaScript 中 ES6 引入的两种新的数据结构,它们提供了更高效和便捷的方式来处理数据。本文将深入探讨这两个数据结构及其相关的 `Array.from` 方法。 首先,让我们来详细了解一下 Set 结构。Set ...

    JavaScript中的Array 对象(数组对象)_.docx

    以下是对标题和描述中所提到的JavaScript Array对象的详细解释: 1. 创建Array对象: - 直接初始化语法:`var arr = [element1, element2, ...];` - 使用`new Array()`构造函数:`var arr = new Array();` 或 `...

    JavaScript数组对象Array.pdf

    JavaScript中的Array对象是编程语言中处理有序数据集合的关键部分,它允许你在单个变量中存储多个值。在JavaScript中,数组是一种动态数据结构,这意味着在创建后,你可以随时添加、删除或修改数组的元素。 创建...

    JavaScript数组对象Array案例.pdf

    在JavaScript中,数组对象Array是用于存储一组有序的数据集合,它可以包含任意类型的数据,如数字、字符串、对象等。Array对象提供了丰富的内置方法和属性,使得对数组的操作变得简单且高效。本文将深入探讨...

    javascript(map功能)

    * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY... * keys() 获取MAP中所有KEY的数组(ARRAY)

    浅析JavaScript中的array数组类型系统_.docx

    首先,创建JavaScript数组有两种主要方式:字面量语法和`Array()`构造函数。字面量语法是最简洁的,只需在方括号中用逗号分隔值即可创建数组。例如: ```javascript var empty = []; // 空数组 var primes = [2, 3, ...

    JavaScript中循环遍历Array与Map的方法小结

    在JavaScript中,循环遍历Array和Map是常见的操作,用于处理和操作数据。这里我们将对几种常见的循环遍历方法进行小结。 1. **基本for循环**: ```javascript for (var i = 0; i ; i++) { alert(myStringArray[i...

    js 重写Array 类似map key,value结构

    javaScript,重写Array 类似java map的key,value键值对结构

    javascript中数组、对象

    在JavaScript中,数组和对象是两种非常基础且重要的数据结构,它们被广泛应用于各种场景,如数据存储、逻辑处理和对象表示。这篇文章将深入探讨这两种数据类型,以及相关的操作和工具。 **一、数组** 数组在...

    javascript稀疏数组(sparse array)和密集数组用法分析.docx

    ### JavaScript稀疏数组(Sparse Array)与密集数组(Dense Array)用法分析 #### 一、简介 在JavaScript中,数组是一种特殊类型的数据结构,它既不是传统意义上的密集型数组(每个索引都被占用),也不是完全自由的...

Global site tag (gtag.js) - Google Analytics