js数组Array探究

1、创建数组

    创建数组的方法有多个,我们用自己喜欢的写法就好。在创建数据组的时候,可以是一个空数组,也可以为他指定长度,也可以直接赋值给它。

			var arrayObj = new Array();  //创建一个数组
			var arrayObj = [];			//创建一个数组,和上不同写法

			var arrayObj = new Array(5);  //创建一个数组并指定长度(5),注意不是上限,是长度

			var arrayObj = [1,2,3,4,5];		//创建一个数组并赋值
2、数组属性

    数组属性其实指的就是其长度:length。在创建函数的时候可以给它指定长度,也可以在后面获取他的长度。

		<script>
		window.οnlοad=function  () {
					
			var arrayObj = [1,2,3,4,5];	
			alert(arrayObj.length);  //长度为5
			arrayObj.length=3;
			alert(arrayObj.length);//长度为3
			arrayObj.length=0;
			alert(arrayObj.length);//长度为0
		}	
		</script>

3、数组对象(重点
 
 3.1、数组的拼接concat()

Array.concat( ),方法concat()将创建并返回一个新数组,这个数组是将所有参数都添加到array中生成的。它并不修改array。如果要进行concat()操作的参数是一个数组,那么添加的是数组中的元素,而不是数组。

		<script>
			window.onload = function() {

				var a = [1, 2, 3];
				a.concat(4, 5) //返回 [1,2,3,4,5]
				a.concat([4, 5]); //返回 [1,2,3,4,5]
				a.concat([4, 5], [6, 7]) //返回 [1,2,3,4,5,6,7]
				a.concat(4, [5, [6, 7]]) //返回 [1,2,3,4,5,[6,7]]
			}
		</script>

3.2、数组分隔符join()

语法:
array.join( ) 
array.join(separator)

参数: separator 在返回的字符串中用于分隔数组元素的字符或字符串,它是可选的。如果省略了这个参数,用逗号作为分隔符。
返回值:

    —个字符串,通过把array的每个元素转换成字符串,然后把这些字符串连接起来,在两个元素之间插入separator字符串而生成。

		<script>
			window.onload = function() {
				var arr = [1, 2, 3, 4];
				alert(arr.join('- -p'));
			}
		</script>

3.3、删除数组最后一个元素 pop()

Array.pop( ),方法pop()将删除array的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,返回undefined。

		<script>
			window.onload = function() {
				var arr = [1, 2, 3];
				arr.pop();
				alert(arr);
			}
		</script>

3.4、添加数组元素 push()

Array.push( ) ,要添加到array尾部的值,可以是一个或多个。方法push()将把它的参数顺次添加到array的尾部。它直接修改array,而不是创建——个新的数组。方法push()和方法pop()用数组提供先进后出栈的功能。

		<script>
			window.onload = function() {
				var arr = [1, 2, 3];
				arr.push(4);
				alert(arr);
			}
		</script>

3.5、颠倒数组元素 severse()

		<script>
			window.onload = function() {
				var arr = [12, 8, 99, 19, 112];
				arr.reverse();
				alert(arr);
			}
		</script>

3.6、删除数组第一个元素 shift()

Array.slice( ),方法shift()将把array的第—个元素移出数组,返回那个元素的值,并且将余下的所有元素前移一位,以填补数组头部的空缺。如果数组是空的,shift()将不进行任何操作,返回undefined。注意,该方法不创建新数组,而是直接修改原有的数组。
方法shift()和方法Array.pop()相似,只不过它在数组头部操作,而不是在尾部操作。该方法常常和unshift()一起使用。
方法unshift()将把它的参数插入array的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。

		<script>
			window.onload = function() {
				var arr = [1, 2, 3];
				//arr.shift();
				arr.unshift(5);
				alert(arr);
			}
		</script>

3.7、任意位置添加、删除、置换数组元素 splice()

array.splice(start, deleteCount, value, ...)

参数:
start
开始插入和(或)删除的数组元素的位置(不是下标)。
deleteCount
从start开始,包括start所指的元素在内要删除的元素个数。这个参数是可选的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。
value, ...
要插人数组的零个或多个值,从start所指的下标处开始插入。

		<script>
			window.onload = function() {
				var arr = [1, 2, 3, 4, 5, 6];
				//删除:splice(起点, 长度)
				//arr.splice(2, 3);
				//插入:splice(起点, 长度, 元素...);
				//arr.splice(2, 0, 'a', 'b', 'c');
				arr.splice(2, 2, 'a', 'b');
				alert(arr);
			}
		</script>

3.8、数组排序 sort()

数组排序一般都是对字符串和数字就行排序,数字较多(排名)。

		<script>
			window.onload = function() {
				var arr = ['float', 'width', 'alpha', 'zoom', 'left'];
				arr.sort();
				alert(arr);
			}
		</script>
数字的排序:
    方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如果有必要的话),以便进行比较。
    如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下:

  • 如果根据你的评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值。

  • 如果a等于b,就返回0。

  • 如果a大于b,就返回一个大于0的值。 

		<script>
			var arr = [12, 8, 99, 19, 112];
			arr.sort(function(n1, n2) {
				if(n1 < n2) {
					return -1;
				} else if(n1 > n2) {
					return 1;
				} else {
					return 0;
				}
			});
			alert(arr);
		</script>
简写:最好先理解一个函数:max()自己写一个比较大小的函数

		<script>
			function max(n1, n2) {
				if(n1 < n2) {
					return -1;
				}
		</script>
示例:

下面的代码展示了如何编写按数字顺序,而不是按字母顺序对数组进行排序的比较函数:

function numberorder(a, b) { return a - b; }// 按照数字顺序排序的排序函数
a = new Array(33, 4, 1111, 222);
a.sort(  );             // 按照字母顺序的排序结果为: 1111, 222, 33, 4
a.sort(numberorder);    // 按照数字顺序的排序结果为: 4, 33, 222, 1111


3.9、数组元素转换为字符串 toString()

    Array.toString( )数组的toString()方法将把数组转换成一个字符串,并且返回这个字符串。当数组用于字符串环境中时,JavaScript会调用这一方法将数组自动转换成一个字符串。但在某些情况下,需要明确地调用这个方法。
    toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串 (通过调用这些元素的toString()方法)。当每个元素都被转换成字符串时,它就以列表的形式输出这些字符串,字符串之间用逗号分隔。返回值与没有参数的join()方法返回的字符串相同。

		<script type="text/javascript">
			var arr = new Array(3)
			arr[0] = "George"
			arr[1] = "John"
			arr[2] = "Thomas"
			document.write(arr.toString())
		</script>









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值