`

JavaScript基础之Array,你精通了吗?

阅读更多

 

一、 学好JavaScript的基础,Array类是必不可少的,也许你每天都在写JS,那么对于Array类,你到底用了多少呢?下面列举一下Array类内置的方法:

1、构造方法:

var a = new Array(); //创建Array对象
var a = new Array;//创建Array对象
var a = new Array(10);//创建Array对象,并指定数组中项的个数

var a = new Array("a","b","c"); //数组a,b,c
var a = ["a","b","c"];//数组a,b,c

var a =[["a","b","c"],[1,2,3]];//多维数组

 

2、toString、valueOf

 

//把数组转化为","号隔开的字符串?很简单:
var a =["a","b","c"];
var s = a.toString();
alert(s);
var s2 = a.valueOf();
alert(s2);

 

 

 

3、join

//厌倦了","号隔开的字符串?那么:
var a =["a","b","c"];
var s = a.join("-");//想用什么隔开呢?在这里写吧,当然","也是可以的
alert(s);
 
4、split

//反悔了?倒过来把字符串转化为数组?
var s = "a-b-c";
var a =s.split("-");
alert(a);
 
5、concat

//用for循环来合并?没那么麻烦
var a1 = new Array(1,2,3);
var a2 = new Array("a","b","c");
var a3 = a1.concat(a2);
alert(a3);
 
6、splice

//删除?很灵活
var a1 = new Array(1,2,3);
var a2 = new Array("a","b","c");
var a3 = a1.concat(a2);
alert(a3);
var a4 = a3.splice(1,2); //从a3中删除从下标为1开始的2项,返回删除的结果给a4
alert(a3+" "+a4);
 
7、push、pop

//栈的数据结构要自己来写?不需要
var a1 = new Array(1,2,3);
var a2 = a1.push(4); //顶部压入4,返回压入的对象
alert(a1+" "+a2);
var a3 = a1.pop(); //顶部弹出顶部第一个对象,返回弹出对象
alert(a1+" "+a3);

 

 

8、shift、unshift

//倒转栈结构?来得更轻松
var a = new Array(1,2,3);
var i1 = a.shift(); //删除数组的第一项,将其作为函数返回值
alert(i1+" "+a);
var i2 = a.unshift(1); //加入一项放在数组的第一个位置,原来的项分别往下移一个位置
alert(i2+" "+a);
 
9、sort,reverse

//排序?简单,但是它是按照字符串排序的哦尽管是数字
var a = new Array(1,2,6,3,9,5,7);
a.sort();
alert(a);
var a = new Array(1,2,6,3,9,5,27);//注意这里排序会让你意外哦[1,2,27,3,5,6,9]
a.sort();
alert(a);
//想倒序?
a.reverse();
alert(a);
 
10、再论splice

//第6条中已经说明了它的删除功能,它还能插入、替换
var a =["a","d","e"];
a.splice(1,0,'b','c'); //在位置1(即d)处删除0个项,并插入['b','c'],即插入
alert(a);
a.splice(3,2,'dd','ee'); //在位置3处删2个项,并插入['dd','ee'],即替换
alert(a);
 
二、再看看判断一个对象是否为Array对象的方法
isArray: function(object) {
    return object != null && typeof object == "object" &&
      'splice' in object && 'join' in object;
  }
   这个是抄袭prototype的,看看吧,对象不为空且对像类型为object且该对象有splice方法和join方法。也对对你有所启发,毕竟JS有它的特色。

三、一些有用的扩展:
<input type="button" value="测试获取数组下标" onclick="testIndexOf()" />
<script>
// use native browser JS 1.6 implementation if available
if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
  i || (i = 0);
  var length = this.length;
  if (i < 0) i = length + i;
  for (; i < length; i++)
    if (this[i] === item) return i;
  return -1;
};

function testIndexOf()
{
var a =[1,2,3];
alert(a.indexOf(2));
}
   上面的举例获取数组中某项的下标,还有像:把数组里的项唯一化(uniq)、最后一个位置(lastIndexOf)等等,你都可以扩展。并且你可以借鉴prototype的库,mootools的库等等,里面的有些写法很是经典,可以学习学习。

四、要干活了,不再罗嗦:
    上面罗嗦了一堆,想说明的不外乎两点:1、注重JS基础,别云里来雾里去;2、学习经典库的写法,借鉴总是能帮你少走一些弯路,但是走走弯路也是挺好好处,自己掂量掂量吧。

 

17
7
分享到:
评论
4 楼 runjia1987 2010-11-16  
pop() 删除并返回数组的最后一个元素
3 楼 fcu 2009-05-19  
不错,楼主辛苦了,呵呵
2 楼 Else 2009-05-18  
很不错的文章,清晰,易懂
1 楼 wise007 2009-05-18  
好多用法还真没碰过,学习了

相关推荐

    精通javascript书及源码

    JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心技术之一。它在浏览器环境中运行,赋予网页动态交互的能力,使得用户与网页之间能够进行实时的互动。"精通JavaScript书及源码"这个主题涵盖了深入...

    《JavaScript从入门到精通》 所有课件ppt

    JavaScript,作为全球最广泛使用的编程语言之一,是前端开发的核心技术。这门语言以其灵活性、动态性和丰富的库与框架著称,使得它在构建交互式Web应用时具有极高的效率和可扩展性。《JavaScript从入门到精通》的...

    javascript从入门到精通

    JavaScript,作为全球最广泛使用的编程语言之一,是Web开发的核心技术。它被用来实现客户端的交互性、动态网页效果以及服务器端的复杂应用。对于初学者来说,掌握JavaScript是迈向IT行业的关键步骤。"javascript从...

    JavaScript教程--从入门到精通

    2. **基于对象**:JavaScript支持基于对象的编程,允许开发者利用内置对象(如Array、Date等)或自定义对象进行操作。 3. **简单性**:JavaScript语法简洁,易于学习,适合初学者快速上手。 4. **安全性**:...

    精通JavaScript(图灵计算机科学丛书)_javascript_

    1. **基础语法**:JavaScript的基础包括变量(var、let、const)、数据类型(基本类型:number、string、boolean、null、undefined,复杂类型:object、array、function)、操作符(算术、比较、逻辑、赋值等)、...

    精通JavaScript之500经典案例

    "精通JavaScript之500经典案例"提供了丰富的实践资源,帮助开发者深入理解和掌握这门强大的脚本语言。以下是对这些经典案例中可能涵盖的JavaScript知识点的详细解析: 1. **基础语法**:包括变量声明(var、let、...

    javaScript从入门到精通

    本教程“JavaScript从入门到精通”深入浅出地介绍了JavaScript的各项基础与高级特性,旨在帮助初学者快速掌握这门语言,并逐步提升至精通水平。 一、JavaScript基础 1. 变量与数据类型:JavaScript支持基本数据...

    《JavaScript实例精通》[源代码]

    示例描述:Prototype基础应用。 17_1.htm 使用$()得到html元素。 17_2.htm 使用$F()返回表单输入控件的值。 17_3.htm 使用$A()将单个的参数转换成Array对象。 17_4.htm 使用$H()把一些对象转换成Hash对象。 ...

    javascript从入门到精通 (这个应该可以用了吧!)

    作为前端开发的核心技术之一,JavaScript能够实现网页动态效果,与用户交互,以及处理服务器数据。本资源名为“javascript从入门到精通”,显然是一份旨在帮助初学者掌握JavaScript的教程。 首先,JavaScript基础...

    JavaScript_深度剖析(从入门到精通)

    ### JavaScript深度剖析:从入门到精通 #### 一、JavaScript语言概述 JavaScript,自诞生以来,已成为互联网时代不可或缺的一部分,特别是在Web开发领域。作为一种轻量级的解释型或即时编译型的脚本语言,...

    Javascript入门到精通系统视频笔记

    - **构造函数**:用于创建新对象,如`Array()`构造一个新的数组。 - **全局函数**:属于全局对象的函数,例如`Math.random()`。 - **自定义函数**:由开发者根据需求编写的函数。 ### 3. `arguments`属性 在函数...

    JavaScript教程--从入门到精通.pdf

    JavaScript的设计初衷是为了简化Web开发过程,使之无需Java编译器即可直接在Web浏览器中运行。 JavaScript的诞生标志着互联网技术的一个重大进步,它允许开发者创建动态的Web内容,增强了用户体验,同时也促进了Web...

    JavaScript从入门到精通全部事例

    JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心技术之一。它以其灵活性、易学性和强大的功能,使得网页交互性得以大幅提升。"JavaScript从入门到精通全部事例"这一资源,无疑为初学者提供了全面的...

    javascript宝典由入门到精通源码

    最后,细致地讲述了JavaScript核心语言,包括String,Math,Date和Array等核心对象以及异常处理等内容。通过《JavaScript宝典(第6版)》的学习,读者可以根据实际需要制作出自己的动态网页,全方位拓展自己的网页设计...

    JavaScript入门到精通.txt

    根据提供的文件信息,我们可以推断出这是一本关于JavaScript编程语言的学习资料,旨在帮助读者...通过上述知识点的学习,你将能够掌握JavaScript的基础,并为进一步深入学习打下坚实的基础。希望这些内容对你有所帮助!

    javascript:和精通之差一步之遥的人

    JavaScript是Web开发中不可或缺的一部分,尤其对于初学者来说,掌握其基本语法和功能至关重要。本文旨在帮助那些已经接触过HTML并希望通过学习...持续学习和实践,才能真正精通JavaScript,成为Web开发中的佼佼者。

Global site tag (gtag.js) - Google Analytics