`
kanpiaoxue
  • 浏览: 1777821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JavaScript Array数组的使用方法整理

阅读更多
Array 的使用方法
1、声明Array的方法
   (1)	var arr = new Array(); 
   		//var arr = new Array(20); 
   		//通过构造函数指定数组的大小:缺点:如果数组不能填充满,浪费内存
   									优点:如果知道数组大小,能加快程序的运行速度,优化程序。
   		arr[0] = 'green';
   		arr[1] = 'red';
   		arr[2] = 'yellow';
   		alert(arr.length);//outputs : 3
   		arr[25] = 'blue';//直接没有被赋值的索引的地方都填充null
   		alert(arr.length);//outputs : 26 
   
   (2)	var arr = new Array('green','red','yellow');
   		alert(arr.length);//outputs : 3
   
   (3)	var arr = new Array;//没有用到构造函数的时候,可以省略后面的括号'()'
         arr.push('green');
         arr.push('red');
         arr.push('yellow');
         alert(arr.length);//outputs : 3
   
   (4)	var arr = [];//js声明Array的简写。
        	arr[0] = 'green';
   		arr[1] = 'red';
   		arr[2] = 'yellow';
   		alert(arr.length);//outputs : 3
   		//也可以 var arr = ['green','red','yellow'];
2、Array的常用方法
		(1)、join();数组生成字符串时候的链接,
			例如:	var arr = ['green','red','yellow'];
					alert(arr.join('-'));//outputs :green-red-yellow
					alert(arr.join(''));//outputs :greenredyellow
					alert(arr.join(']['));//outputs :green][red][yellow
		(2)、toString();  //valueOf();  
				//valueOf()函数里面调用的是toString()方法。可以进行验证
				Array.prototype.toString = function(){
					return this.join('-');
				};
				//此时同时调用Array的toString()和valueOf()函数,发现它们结果相同,
             //证明了valueOf()也被重写了。
             Array.prototype.valueOf = function(){
					return this.join('-');
				};
				//这样重写了valueOf()之后,同时调用Array的toString()和valueOf()函数,
				//发现它们结果不相同。说明‘valueOf()函数里面调用的是toString()方法’。
		(3)、slice(arg1[,arg2]);//返回数组,和String的substring()方法的使用方法类似。
			var arr = [];
        	arr[0] = 'green';
	   		arr[1] = 'red';
	   		arr[2] = 'yellow';
	   		arr[3] = 'blue';
	   		arr[4] = 'black';
	   		var tempArray_1 = arr.slice(1);
	  		var tempArray_2 = arr.slice(0,3);
			alert(tempArray_1.toString());//outputs : red,yellow,blue,black
			alert(tempArray_2.toString());//outputs : green,red,yellow
		(4)、push()、pop(): 对[栈](后进先出结构,动作都在栈顶发生)的操作
			var arr = [];
			for(var i = 0 ; i < 6; i++){
				//[注意] push()方法可以允许同时放入多个参数,构成数组
				arr.push('hello_' + i);//arr.push('hello_' + i,'world_' + i); 
			}
			alert(arr.toString());//outputs : hello_0,hello_1,hello_2,hello_3,hello_4,hello_5
			var removedItem = arr.pop();
			alert(removedItem);//outputs : hello_5
			alert(arr.toString());//outputs : hello_0,hello_1,hello_2,hello_3,hello_4
		(5)、shift()、unshift():对[队列](后进后出结构,最近加入的元素最后删除。数据的插入发生在队列的尾部,数据的删除发生在队列的头部)
			shift()删除数组的第一项
			unshift()把一个项放在数组的第一个位置
				var arr = ['green','red','yellow'];
				var item = arr.shift();
				alert(item.toString());//outputs : green
				alert(arr.toString());//outputs : red,yellow
				arr.unshift('black');
				alert(arr.toString());//outputs : black,red,yellow
		(6)、排序:	reverse();颠倒数组里面元素的顺序
				sort();对于字母排序正常,按照字母的顺序排序。对于数字和汉字的排序,就会有问题,这个地方需要重构。
		(7)、splice()作用:把数据项插入数组的中部
				a、删除			:(2个参数)声明2个参数,分别是:要删除的第一个项的位置和要删除的项的个数
					例如: arr.splice(0,2);删除掉数组arr中的前两项
				b、替换而不删除	:(3个参数)声明3个参数,分别是:起始位置、0(要删除的数据项的个数)、和要插入的项。
					此外,还可以用更多的参数项指定其他要插入的项。
					arr.splice(2,0,'red','blue');将在第2个位置插入'red'和'blue'	
				c、替换并删除	:(3个参数)声明3个参数,分别是:起始位置、要删除的数据项的个数以及要插入的项。
					此外,还可以指定要插入的更多的项。要插入的项的个数不必等于删除的项的个数。
					例如:arr.splice(2,1,'red','green');将删除数组arr中位置2处的项,然后在位置2处插入'red'和'green'。
		(8)、字符串变成数组:split()
			var str = 'h,e,l,l,o';
			var arr = str.split(',');//变成数组
			alert(arr.toString());//outputs : h,e,l,l,o
			var s = arr.join('][');//逆操作,数组变成字符串
			alert(s);//outputs : h][e][l][l][o
				
				
3、关于数组的优化:
	(1)、数组循环3种优劣势比较:推荐用for(var i = 0 ; arr[i] ; i++){//your code}
		var arr = [1,2,3,4,5,6,7,8,9];
		a、性能:最差
			for(var i = 0 ; i < arr.length ; i++){
				alert(arr[i]);
			}
		b、性能:折中
			for(var i = 0 , j = arr.length ; i < j ; i++){
				alert(arr[i]);
			}
		c、性能:最优
			for(var i = 0 ; arr[i] ; i++){
				alert(arr[i]);
			}
		当数据量为1500条,3种循环时间消耗相差无几;
		当数据量为15000条,(1)会当掉,(2)耗时比较长,(3)瞬间完成;
		当数据量为150000条,(1)、(2)都会当掉,(3)耗时2s左右完成;
		[注意]采用 c 方式( for(var i = 0 ; arr[i] ; i++) )的时候,
		      当数组元素arr[i]为 0 或者 '0' 时, 会停止运行,认为 arr[i](值为0)是false
		      所以 c 方式适合于对象(Object)循环,不适用于数字循环。
	(2)、对数组赋值
		建议采用索引赋值,而不是采用push()赋值。速度会快很多。
 

 

分享到:
评论

相关推荐

    Javascript数组Array操作整理[定义].pdf

    JavaScript中的数组Array是编程中非常基础且重要的数据结构,它用于存储一组有序的元素,可以是任意类型。本文主要探讨JavaScript数组的两个关键属性:`length`和`prototype`。 首先,`length`属性是每个JavaScript...

    javascript中数组、对象

    文档"Javascript数组操作整理.doc"可能包含了对数组常见操作的详细总结,如遍历方法(`for`循环、`forEach`、`map`等)、查找方法(`indexOf`、`find`、`filter`等)、排序方法(`sort`)、转换方法(`concat`、`...

    Javascript数组操作整理.rar

    本资料"Javascript数组操作整理"聚焦于JavaScript中的数组操作,旨在帮助开发者更好地理解和掌握相关知识。 1. 创建数组: JavaScript提供了多种创建数组的方式,如字面量语法`var arr = [元素1, 元素2, ...]`,或...

    JavaScript数组方法大全(推荐)

    数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,下面小编给大家整理了关于数组的操作方法,一起看看吧。 数组创建 JavaScript中创建数组有两种方式,...

    JavaScript之数组扁平化详解

    第三种方法是使用了ES6的Array.prototype.reduce()方法。reduce方法可以用来将数组元素汇总到一个单一的返回值,通过递归累加每个元素的处理结果,最终得到扁平化的数组。这种方法相比直接使用递归,代码更为简洁,...

    javascript过滤数组重复元素的实现方法

    本文将详细介绍几种在JavaScript中过滤数组重复元素的实现方法,帮助开发者更高效地解决此类问题。 ### 方法一:使用辅助函数 最直接的方法是定义一个辅助函数,用于判断新数组中是否已经包含了将要加入的元素。...

    最实用的JS数组函数整理

    下面详细整理了一些最常用的JS数组函数,并解释了它们的使用方法和规则。 首先,我们来了解检测一个对象是否为数组的方法。可以使用`instanceof`运算符来检测某个对象是不是由特定构造函数创建的实例,例如: ```...

    JS中的数组方法笔记整理

    在JavaScript中,数组是基本数据类型之一,数组方法提供了操作数组的基本手段,包括数组元素的增删改查等。根据给出的文件内容,下面将详细介绍各个数组方法的具体知识点。 1. push()方法: push()方法能够在数组的...

    JS数组(Array)处理函数整理

    在JavaScript中,数组是用于存储一组有序数据的数据结构。这里我们着重讨论JavaScript数组的一些常见处理函数,这些函数可以帮助我们高效地操作和管理数组中的数据。 1. `concat()`:此函数用于连接两个或多个数组...

    整理Javascript数组学习笔记

    通过理解和熟练运用这些概念和方法,你可以有效地使用JavaScript数组来处理和组织数据。在实际编程中,数组是解决问题的关键工具,尤其在数据处理和操作场景中。不断学习和实践,掌握数组的各种特性和技巧,将有助于...

    JavaScript中数组slice和splice的对比小结

    相信对很多学习JavaScript语言的人来说,都会经常搞不清slice和splice这两个方法。它们虽然名称相似,但是功能却...所以这篇文章就给大家详细整理了关于JavaScript中数组slice和splice的对比,有需要的可以参考学习。

    JavaScript实现删除数组重复元素的5种常用高效算法总结

    这里就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。 1.遍历数组法 最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法...

    JavaScript数组_动力节点Java学院整理

    以上内容涉及了JavaScript数组的基本使用方式、常见方法、注意事项,并且提供了一些实用的操作示例。数组是JavaScript编程中的核心数据结构之一,对于初学者和有经验的开发者而言都是必须掌握的基础知识。

    w3school JavaScript参考手册 飞龙整理 20141003

    飞龙在2014年10月3日整理的这个JavaScript参考手册,覆盖了JavaScript的核心概念和常用方法。 1. **JavaScript Array 对象**:在JavaScript中,Array对象是内置的构造函数,用于创建数组。数组是一种特殊的对象,...

    Javascript基础知识整理.doc

    使用new Array()方法来创建数组,例如:&lt;script language="JavaScript"&gt;&lt;!--var myArray = new Array(5);myArray[0] = "First Entry";myArray[1] = "Second Entry";...// --&gt; 十三、数组排序 使用sort()方法来排序...

    JavaScript常用数组算法小结|javascript-215980.pdf

    今天抽点时间把javascript中的一些常用的数组算法做一下总结,以方便大家面试笔试或者日常开发过程中用到。其中部分算法来自网络,这里做了下汇总整理。文章末尾我会把参考的来源附上去,如果直接看算法比较枯燥的...

    jQuery数组处理函数整理

    11. **$.makeArray(obj)**: 将一个类数组对象(如函数的arguments对象)转换为真正的JavaScript数组。这在你需要对类数组对象进行数组操作时非常有用。 12. **$(dom).toArray()**: 这个方法将jQuery对象转换为一个...

    PHP中常用的数组操作方法笔记整理

    首先,PHP5.4版本开始支持了短数组定义语法,即使用方括号[]直接定义数组,这与JavaScript的数组定义方式相似。这样的语法使得代码更加简洁易读。例如: ```php $array = ["foo" =&gt; "bar", "bar" =&gt; "foo"]; ``` ...

    JavaScript学习资料全面整理

    6. **数组与数组方法**:JavaScript的Array对象提供了丰富的内置方法,如push、pop、shift、unshift、splice、concat、slice等,方便操作数组元素。 7. **事件与事件处理**:JavaScript通过事件监听、事件触发来...

Global site tag (gtag.js) - Google Analytics