转--javascript 中数组使用方法汇总

简介:
 
  
< script language = " javascript " >
// Author :东阁
// Date:2008-1-11
// 目的: 练习数组的基本操作

/*
由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素
可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
并且在这点上说javascript作为一种脚本语言不同于那种严格的面向对象的c++.c#,java了.具有更高的灵活性.
*/

/*
*在javascript1.1和其后的版本中,数组是用构造函数Array()和运算符new来创建,
可用以下的三种方式来创建javascript 中的数组.
*/
var a = new Array();
var b = new Array( 5 , 4 , 3 , " first " , " test,string " );
var c = new Array( 20 );

a[
1.23 ] = " test " ;
document.write(
" a[1.23]= " + a[ 1.23 ]);
// 相信每位从强类型的编程语言学习javascript时,绝对会以为上面这种操作感到惊讶,
// float数据也作数组的下标了,事实上 并非如您所想
// javascript在您是用负数,浮点数,(或布尔型,对象,其他值时),javascript会将它转换为一个字符串
// 用生成的字符串作为对象的属性名字,而不是定义了一个新的数组元素
// 上面的实例事实就是为a 创建了一个名为:"1.23"的属性.
document.write( " a.length= " + a.length);
document.write(
" b.length= " + b.length);
document.write(
" c.length= " + c.length);

a[
3 ] = " Test " ;
document.write(
" <br />a[3]= " + a[ 3 ]);
document.write(
" <br/>a.length= " + a.length);
// 以上测试也很明确我们用整数作为数组的下标是才会真正为数组添加一个元素,
// 这里用数组的长度来体现了javascript的数组中的奥妙。


// 通过设置数组的length属性能过截断数组的长度。
a.length = 3 ;
if (a[ 3 ] == undefined)
{
document.write(
" <br />在a.length= " + a.length + " 后,a[3]= " + a[ 3 ]);
}
else
{
document.write(
" <br />在a.length= " + a.length + " 后,a[3]= " + a[ 3 ]);
}

// 这里测试我们的多维数组元素
/*
*javascript中实际上是不支持多维数组
*但是我们将一个一维数组的元素再赋给其一个一维数组,这样就看起来就实现了多维数组了,但
实际上他还是个一维数组,这和我们理解c语言的数组时的那种想法一样,但他们的实现机制是不一样的。
*/
var g = new Array( 3 );
g[
3 ] = a;
g[
3 ][ 2 ] = " Test "
document.write(
" <br />g[3][2]= " + g[ 3 ][ 2 ]);

// 数组join()方法
for ( var i = 0 ;i < 20 ;i ++ )
{
c[i]
= i;
document.write(
" <br />c[i]= " + c[i]);
}
document.write(
" <br/>c的元素join()方法后是: " + c.join());
// 数组的reverse()方法
c.reverse();
document.write(
" <br />c的元素在reverse()方法再join()后的结果是: " + c.join( " | " ));

// concat()方法的测试
var h = new Array( 1 , 2 , 3 );
h
= h.concat([ 4 , 5 ]);
// 但是concat函数不会递归地展开一个元素为数组的数组。
h = h.concat( 6 , 7 ,[ 9 ,[ 10 , 20 ]]);
document.write(
" <br />h.length= " + h.length + " <br /> " + h);
document.write(
" h[8]= " + h[ 8 ]);


// slice()方法
document.write( " <br>h.slice(4,5)= " + h.slice( 4 , 5 ));
document.write(
" h.slice(5,9)= " + h.slice( 5 , 9 ))
// slice()方法:返回的数组包含有第一个参数指定的元素和那个元素开始到第二个参数指定的
//
元素为止的元素但不包含第二个参数所指定的元素。


// splice()方法
//
splice()方法是插入或删除数组元素通用的方法。
/*

splice函数第一个参数指定了要插入或删除的元素在数组中的位置。
第二个参数指定了要从数组中删除的元个数
在第二参数之后可以有任意多个参数,它们指定的是从第一个参数指定的位置处插入的元素。
第一个元素及后续元素,做出相应的移动。
*/

document.write(
" <br />h.splice(8,1)后的h为:: " + h.splice( 8 , 1 ));
// document.write("<br />h.splice(8,0,'a','b','Test')后的h为::"+h.splice(8,0,'a','b','Test'));
h.splice( 7 , 0 , ' a ' , ' b ' , ' Test ' );
document.write(
" <br />h.splice(7,0,'a','b','Test')后的h为: " + h);


// javascript中的数组作为堆栈时和php类似
//
这点有趣更有用。
//
以下是作为堆栈是使用的小实例
/*

push方法是将一个或多个新元素附加到数组的尾部,然后返回数组的新长度。
pop将删除数组的最后一个元素,坚守数组的长度,返回他删除的值。
*/
var stack = new Array();
stack.push(
1 , 2 );
document.write(
" <br>stack的元素是: " + stack);
document.write(
" <br />stack.length= " + stack.length);
document.write(
" <br>stack.pop()返回的结果是: " + stack.pop());
document.write(
" <br />stack.length= " + stack.length);

// 以下是作为队列使用的小实例
/*

unshift方法将一个或多个元素添加到数组元素的头部,然后把已有的元素移动到下标最大的位置已腾出空间
,它返回的是主族的新长度。
方法shift是删除并返回数组的第一个元素,然后将后面的所有元素都向前移动以填补第一个元素留下的空白。
*/
var list = [];
list.unshift(
6 , 2 );
document.write(
" <br >list的内容为: " + list);
document.write(
" <br>list的shift方法是: " + list.shift());

// 此外就剩下,我们在java中熟悉的toString()方法 了
//
It's a piece of cake!
document.write(c.toString());
// 说白了,其实数组的toString()方法和无参数的join()的效果是完全相同
//
OK,this's chapter for Array,that's all!

< / script>
复制代码

 

 

 

本文转自豪情博客园博客,原文链接:http://www.cnblogs.com/jikey/archive/2009/12/11/1621754.html,如需转载请自行联系原作者
目录
相关文章
|
13天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
13天前
|
JavaScript Java
JS有趣的灵魂 清空数组
JS有趣的灵魂 清空数组
|
1月前
|
JavaScript 前端开发 API
常用JavaScript 数组 API大全
常用JavaScript 数组 API大全
32 0
|
2月前
|
JavaScript 前端开发
JS将两个数组和合并成数组包对象格式的方法
JS将两个数组和合并成数组包对象格式的方法
27 0
|
1月前
|
存储 JavaScript 前端开发
在JavaScript中,对象和数组是如何进行扩展的?
在JavaScript中,对象和数组是如何进行扩展的?
22 4
|
1月前
|
JavaScript
JS数组增删方法的原理,使用原型定义
JS数组增删方法的原理,使用原型定义
|
6天前
|
JavaScript 前端开发 索引
JavaScript 数组中的增、删、改、查
JavaScript 数组中的增、删、改、查
|
20天前
|
JavaScript 前端开发
JavaScript数组的功能内置类型
数组是JavaScript的内置类型,JavaScript数组的功能特别强大。下面简单介绍一下JavaScript数组。
|
20天前
|
存储 JavaScript 前端开发
在浏览器中存储数组和对象(js的问题)
在浏览器中存储数组和对象(js的问题)
|
30天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可为任意类型,有序且支持get、set、has、delete操作;Set存储唯一值,提供add、delete、has方法。两者皆可迭代。示例展示了Map和Set的基本用法,如添加、查询、删除元素。
15 2