`
兰色星座
  • 浏览: 10205 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

JS内置对象(Array数组对象)

阅读更多
Array对象
1.创建语法(2种):
1.1语法1: var arr=new Array(参数);

  • 括号内没有参数:表示创建了一个初始容量为0的数组,则返回数组为空,length为0;
  •         new Array()
  • 括号内为一个number类型的参数:表示创建了一个初始容量为number的数组(number出现小数或负数时会报错),length为number数值,返回元素为undefined;
  •         new Array(size)
  • 括号内为其他数量及类型的参数:表示创建一个包含参数为初始数据的数组;
  •         new Array(element0,element1,....elementn)
		var arr1=new Array();
		var arr2=new Array(3);
		var arr3=new Array("gsl","hello",6,true);
		console.debug("arr1:"+arr1);
		console.debug("arr1.length:"+arr1.length)
		console.debug("arr2:"+arr2[0]+" "+arr2[1]+" "+arr2[2]);
		console.debug("arr2.length:"+arr2.length);
		console.debug("arr3:"+arr3);
		console.debug("arr3.length:"+arr3.length);

后台结果显示:


1.2语法2: var arr=[初始数据列表];
  • 容量看具体列表初始数据个数
  • 可存放不同数据类型
		var arr=[3,6,"lyf",true,"gsl",false,8];
		console.debug(arr);

后台显示结果:



2.属性length
  • 设置或返回数组中元素的数目;
  • 不代表实际存储数据的数量,也不代表容量限制,可以给length赋值来改变数组容量

3.键值对:
  •     数组不仅可以使用非负整数作为索引下标,也可以使用字符串作为下标,称之为“key"(键)
  •     key不会对length属性产生影响,所以不适合使用for循环变量,应使用for...in循环;且for...in会自动跳过undefined的数据

		var arr=new Array(3);
		arr[0]="Amy";
		arr[2]="Tom";
		arr["name"]="gsl";
		console.debug(arr);
		console.debug(arr.length);
		console.debug("=============")
		for(var i=0;i<arr.length;i++)
		{
			console.debug(arr[i]);
		}
		console.debug("=============")
		for(var index in arr)
		{
			console.debug(arr[index]);
		}

后台运行结果:


4. 排序方法:sort()
  • 默认按照字符顺序排列,非String类型会自动转换为String
  • 可以使用回调函数作为参数来指定排序规则,用于排序规则的函数定义要求:
  •         接受2个形参,如果大于0表示参数1大于参数2(此时sort方法会交换2个数),小于0表示参数2大于参数1,等于0则表示2个参数相等;
       
	<script type="text/javascript">
		var arr=["tony","Tommy","tom"];
		console.debug("before sort:"+arr);
		arr.sort();
		console.debug("after sort:"+arr);
		console.debug("---------");
		var arr2=[10,3,"tt",45,7];
		console.debug("before sort:"+arr2);
		arr2.sort();//按照数值转换后的字符串排序
		console.debug("after sort:"+arr2);

		// 指定排序规则:一般约定俗成使用升序
		arr2.sort(comp);
		console.debug("after sort(comp):"+arr2);
		// 用于排序规则的函数定义要求:接受2个形参,表示要比较的2个数
		// 返回一个number:
		// 如果大于0表示参数1大于参数2,
		// 如果小于0表示参数2大于参数1,
		// 如果等于0,表示2个参数相等
		function comp(a,b){
			return a-b;
		}
		//如果return改写成b-a,则表示降序
	</script>

后台运行:


4.反转方法:reverse()
    将数据倒序排列,指位置,非字符大小
	<script type="text/javascript">
		var arr=new Array("tom","jerry","lucy","andy");
		var arr1=[1,45,7,23,89,42,12];
		arr.reverse();
		console.debug("reverse:"+arr);
		arr1.reverse();
		console.debug("reverse:"+arr1);
	</script>

后台结果:


5.栈操作
5.1 栈结构特点:先进后出(FILO)
5.2  push(newelement1,newelement2,...,newelementx);
          
  • newelement1必选,其余可选
  •            
  • 将数据添加到数组尾部,返回加入新数据后的数组的长度
  • 5.3  pop();
            从数组尾部取一个数据,数组长度减1,返回数组最后一个数据(即被删除的数据)
    5.4 举例:
       
    <script type="text/javascript">
    		var arr=new Array("tom","jerry","lucy","andy");
    		console.debug(arr.push("tonny","joe"));
    		console.debug(arr);
    		console.debug(arr.pop());
    		console.debug(arr);
    	</script>

        后台运行结果:
       
    6.拼接操作
    6.1 join(separator)
       
  • separator表示分隔符,可选,参数省略则默认用逗号作为分隔符
  •    
  • join()方法把数组中的所有元素放入一个字符串
  • 6.2 concat(array1,array2...arrayx)
       
    • array1...arrayx 可以是具体的值,也可以是数组对象,不过添加的是数组中的元素而非数组
    •    
    • 返回拼接而成的新的数组

    6.3 举例
    	<script type="text/javascript">
    		var arr1=new Array("tom","jerry","lucy","andy");
    		var arr2=new Array("tonny","joe");
    		
    		var arrjoin1=arr1.join("-");
    		console.debug(arrjoin1);
    		var arrjoin2=arr1.join("");
    		console.debug(arrjoin2);
    
    		var arrconcat=arr1.concat(1,5,7,arr2,"ethan","peter")
    		console.debug(arrconcat);
    		
    	</script>

       后台显示结果:   

    7.其他方法
    7.1 splice(index,howmany,item1,...,itemx)
       
  • index 支持负数,从数组结尾处开始规定位置,必选
  •    
  • howmany 表示要删除数据的个数,为0则不删除,必选
  •    
  • item 为可选,表示要增加的数据
  •    
  • 返回被删除的项目
  •    
  • 举例:
  • 	<script type="text/javascript">
    		var arr1=new Array("tom","jerry","lucy","andy","ethan");
    
    		var newarr1=arr1.splice(2,0);
    		console.debug(arr1);
    		console.debug(newarr1);
    
    		var newarr2=arr1.splice(2,1);
    		console.debug(arr1);
    		console.debug(newarr2);
    
    		var newarr3=arr1.splice(2,1,"item1","item2","item3");
    		console.debug(arr1);
    		console.debug(newarr3);
    	</script>

        后台结果:

    7.2 slice(start,end)
       
  • 从已有数组中返回选定的元素,从start开始,到end下标的前一个元素
  •    
  • start 表示起始位置,可倒数,必选
  •    
  • end 表示结束位置,可倒数,可选,若没有指定结束位置,则默认到最后
  •    
  • 举例
  •    
    	<script type="text/javascript">
    		var arr1=new Array("tom","jerry","lucy","andy","ethan");
    		var arr2=new Array("tonny","joe","peter","ben");
    
    		var newarr1=arr1.slice(1,3);
    		console.debug(arr1);
    		console.debug(newarr1);
    
    		var newarr2=arr2.slice(1,-1);
    		console.debug(arr2);
    		console.debug(newarr2);
    		
    	</script>

        后台结果:

    7.3 shift()/unshift() 
  • shift()删除并返回数组的第一个元素
  • unshift()向数组的开头(与push不同,push是在尾部)添加一个或更多元素,并返回新的长度
  • 举例:
  • 	<script type="text/javascript">
    		var arr1=new Array("tom","jerry","lucy","andy","ethan");
    
    		var newarr= arr1.shift();
    		console.debug(arr1);
    		console.debug(newarr);
    
    		var newlength=arr1.unshift("peter","amy");
    		console.debug(arr1);
    		console.debug(newlength);
    	</script>

        后台结果:
       

    • 大小: 7.5 KB
    • 大小: 5.2 KB
    • 大小: 7.1 KB
    • 大小: 5.9 KB
    • 大小: 5.8 KB
    • 大小: 3.8 KB
    • 大小: 8.5 KB
    • 大小: 5.4 KB
    • 大小: 3.4 KB
    • 大小: 5.1 KB
    分享到:
    评论

    相关推荐

      JavaScript 对象与数组参考大全

      JavaScript 对象与数组参考大全 ... array对象是Netscape Navlgator 3.0 beta 3中引入的一个新的对象,因而,它不能在Netscape 2.0中使用它是一个内置对象,而不是其它对象的属性。  属性 length 数组中的值个数

      Unity3D教程:Array数组类的使用(二)1

      本教程主要关注Array数组类在JavaScript中的使用。 Array 类是Unity3D中JavaScript的特定实现,它提供了丰富的函数和属性来操作数组。数组的长度可以通过 `length` 属性获取或设置,例如: ```javascript var arr ...

      JavaScript实现Array(数组)和Map

      此外,JavaScript提供了一系列内置方法来操作数组,如push()用于在数组末尾添加元素,pop()用于移除末尾元素,slice()用于提取数组的一部分,concat()用于连接两个或多个数组,以及map()、filter()、reduce()等用于...

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

      在JavaScript中,数组并不是一种独立的数据结构,而是基于对象的特殊形式,这使得JavaScript数组与其他语言的数组有显著的差异。 首先,创建JavaScript数组有两种主要方式:字面量语法和`Array()`构造函数。字面量...

      JS对象与数组参考大全

      ### JS对象与数组参考大全知识点概述 #### 一、Overview: JavaScript对象与数组的重要性 JavaScript是一种广泛应用于网页开发中的编程语言,它通过一系列内置对象和数组提供了强大的功能。本文将详细介绍一些常用...

      JavaScript 实现Array(数组)和Map

      JavaScript数组提供了丰富的内置方法,如push、pop、shift、unshift、slice、splice、concat、indexOf、join等,这些方法极大地提高了我们处理数组的效率。在`array.js`文件中,可能会包含对这些方法的自定义实现...

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

      在JavaScript中,Array对象是处理一组有序数据的关键结构。它提供了丰富的功能,使得在脚本中操作和管理数据集合变得简单。以下是对标题和描述中所提到的JavaScript Array对象的详细解释: 1. 创建Array对象: - ...

      JavaScript数组对象Array案例.pdf

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

      经典ASP读取JSON字符串/生成JSON对象,数组对象等。

      这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...

      JavaScript数组对象Array.pdf

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

      JavaScript对象与数组参考大全

      JavaScript数组拥有一系列内置方法,如`push()`(添加元素到末尾)、`pop()`(移除末尾元素)、`shift()`(移除首位元素)、`unshift()`(添加元素到首位)、`splice()`(插入/删除元素)、`slice()`(提取子数组)...

      javascript对象与数组参考大全

      根据提供的文件信息,我们可以从标题、描述以及部分内容中提取出关于JavaScript对象与数组的重要知识点。 ### JavaScript对象与数组参考大全 #### 一、JavaScript对象详解 **1. Anchor对象** - **简介**: `...

      vue深度学习之对象和数组的监听原理 深度学习原理.pdf

      因为数组可以通过多种内置方法(如`push`、`pop`、`shift`、`unshift`、`splice`、`sort`、`reverse`)进行修改,而这些方法不会触发对象的setter。因此,Vue需要拦截这些方法,然后在执行它们之前和之后进行相应的...

      以JSON形式将JS中Array对象数组传至后台的方法

      4. json2.js是一个可以将JavaScript对象转换为JSON字符串的库,它同时也支持将JSON字符串转换回JavaScript对象,弥补了原生JavaScript没有内置JSON对象的不足。 具体实现步骤如下: - 在前端,首先通过jQuery的`...

      js中动态创建关联数组的问题

      然而,JavaScript并没有一个直接的“关联数组”类型,而是通过对象实现的。这里我们将深入探讨在JavaScript中动态创建和操作关联数组的问题。 首先,让我们分析给定的例子: 例子一: ```javascript var array1 = ...

      5.2.1JavaScript内置对象.docx

      JavaScript的内置对象是其核心特性之一,提供了许多预先定义的对象,便于开发者进行常见的数据处理和操作。本节主要探讨了两个关键的内置对象:String对象和Array对象。 1. String对象: String对象用于处理文本...

      js将数组对象格式的的数据转为json

      总结一下,JavaScript提供了`JSON.stringify()`和`JSON.parse()`两个内置方法,用于在数组对象和JSON格式之间进行转换。在实际应用中,我们可以根据需求选择是否使用替换函数来定制转换过程。了解并熟练掌握这些基础...

      JavaScript 数组- Array的方法总结(推荐)

      Array对象提供了许多内置方法,方便我们操作和处理数组。以下是对JavaScript数组方法的详细总结: **一、创建数组** 1. 使用构造函数创建数组: ```javascript var colors = new Array(); // 创建空数组 var ...

      极少代码实现字符串数组对象嵌套数组等类型的去除空格

      在JavaScript开发中,处理数据时我们经常会遇到需要去除字符串、数组、对象以及嵌套数组中的空格情况。这些空格可能是不必要的,甚至可能导致逻辑错误。本文将深入探讨如何使用极少的代码来实现这类数据结构的去空格...

    Global site tag (gtag.js) - Google Analytics