`
271788203
  • 浏览: 490225 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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、学习经典库的写法,借鉴总是能帮你少走一些弯路,但是走走弯路也是挺好好处,自己掂量掂量吧。
分享到:
评论

相关推荐

    Array And Phased Array Antenna Basics

    10 Special Array Antenna Configurations 269 10.1 Conformal Array and Phased Array Antennas 269 10.1.1 Circular Sector Array and Phased Array Antenna 270 10.2 Volume Array and Phased Array Antennas 276...

    android数组资源string-array integer-array的用法

    这样的数组可以在布局文件中通过`@array/example_string_array`引用,或者在代码中通过`getStringArray(R.array.example_string_array)`获取。 其次,`integer-array`是用于存储整数数组的资源,它的用法与`string-...

    init_array教程

    在Linux和类Unix系统中,`init_array`是ELF(Executable and Linkable Format)文件类型的一部分,它是一个特殊的段,用于存放程序启动时需要执行的一系列初始化函数指针。这个教程将深入探讨`init_array`的概念、...

    PV_Array.zip_PV array模块_pv array 仿真_pv arraymatlab_光伏特性_光伏电池

    标题中的“PV_Array.zip”是一个压缩包文件,包含与光伏(Photovoltaic,简称PV)系统相关的材料,特别是关于“PV array”的建模和仿真。"PV array"指的是由多个光伏电池串联或并联组成的光伏阵列,是太阳能发电系统...

    delphi中String,PChar,PByte,Array of Char,Array of Byte 互相转换

    ### Delphi中String,PChar,PByte,Array of Char,Array of Byte 互相转换 在Delphi编程语言中,字符串和其他与字符相关的数据类型之间的转换是常见的需求。本篇文章将详细介绍如何在这些数据类型之间进行转换,...

    Array AG 9.4 CLI Handbook

    标题《Array AG 9.4 CLI Handbook》指的是《Array AG 9.4命令行接口手册》。这本手册是针对Array Networks公司所生产的一款名为Array AG 9.4的网络设备的CLI(命令行接口)配置指南。CLI是一种常见的网络设备配置...

    Javascript实现Array和String互转换的方法

    在JavaScript中,Array(数组)和String(字符串)的互转换是经常需要掌握的基础知识点,尤其在处理数据时非常实用。本文将详细介绍如何使用JavaScript内置方法来实现数组与字符串之间的转换,其中涉及到了两个重要...

    C# Array和ArrayList,List区别

    ### C# 中 Array、ArrayList 和 List 的区别 在C#编程语言中,处理集合数据时,程序员经常需要根据实际需求选择合适的集合类型。本文将详细解释C#中Array、ArrayList和List之间的区别,并通过示例代码帮助理解这些...

    PVarray.rar_pv阵列_simulink的PVARRAY1_simulink里PV array_光伏simulink_

    在本文中,我们将深入探讨如何使用Simulink进行光伏阵列(PV Array)的仿真,主要基于提供的"PVarray.rar"压缩包中的"PVarray"文件。Simulink是MATLAB环境下的一个强大的动态系统建模工具,尤其适用于电气工程、控制...

    TIA博途中数组Array【】的基本使用方法详解.docx

    ### TIA博途中数组Array【】的基本使用方法详解 #### 一、数组Array【】概述 在TIA博途(Totally Integrated Automation Portal)中,数组(Array)是一种重要的数据结构,它由固定数量且相同数据类型的元素组成。...

    在HP Smart Array控制器上配置阵列

    在HP ProLiant服务器上配置Smart Array控制器阵列是管理和存储数据的关键步骤。该过程涉及使用HP提供的工具和软件对硬盘进行逻辑配置,以形成RAID(冗余阵列独立磁盘)等级,确保数据安全性和提升性能。本文将详细...

    Phased Array Antennas Floquet Analysis

    标题“Phased Array Antennas Floquet Analysis”表明本书主要讨论的主题是关于相控阵天线的Floquet分析。相控阵天线是一种由许多小天线元素组成的阵列,这些元素能够单独或集体地调整其相位和幅度来控制电磁波的...

    Array负载均衡配置

    根据给定的文件信息,以下是关于Array负载均衡配置的知识点: ### Array负载均衡配置基础 #### 1. Array产品概述与优势 - **Array公司简介**:Array Networks成立于2000年,是一家致力于网络与安全解决方案的提供...

    在 HP Smart Array 控制器上配置阵列参考指南.pdf

    配置 HP Smart Array 控制器阵列参考指南 HP Smart Array 控制器是一种高性能的存储控制器,广泛应用于 HP 的服务器产品线中,如 HP ProLiant 服务器。为了帮助用户更好地配置和管理 HP Smart Array 控制器,以下是...

    php提示Warning:mysql_fetch_array() expects的解决方法

    在mysql数据库连接时碰到Warning: mysql_fetch_array() expects …错误提示,根据我的经验这个是sql返回的query为空了,我们没有加己判断直接使用了. mysql_fetch_array()函数导致的,下面我们一起来看问题解决方案,我...

    Array.Copy 方法

    `Array.Copy`方法是.NET框架中的一个非常重要的成员,它属于`System.Array`类,用于在数组之间高效地复制元素。这个方法提供了多种重载形式,以适应不同的需求,包括处理不同类型和大小的索引以及数组长度。接下来,...

    HP Array Configuration Utility(ACU)9.40.12.0

    HP Array Configuration Utility(ACU) 用于 Windows 64 位的 HP ProLiant 阵列配置实用程序 HP Array Configuration Utility 是一种有助于每只 HP ProLiant SMART-2 阵列控制器、HP ProLiant 智能阵列控制器、HP ...

    HP Smart Array P400阵列卡配置阵列的方法

    HP Smart Array P400 阵列卡配置阵列的方法 HP Smart Array P400 阵列卡是 HP 公司推出的一个高性能的阵列卡,旨在提高服务器存储性能和可靠性。今天,我们将讨论如何使用 HP Smart Array P400 阵列卡配置阵列。 ...

    HP Smart Array P400阵列卡配置阵列的方法.doc

    HP Smart Array P400 阵列卡配置阵列的方法 HP Smart Array P400 阵列卡是一款高性能的阵列卡,广泛应用于 HP 服务器中,例如 HP PROLIANT DL580G4 和 ML570G4 等机型。本文档将详细介绍如何使用 HP Smart Array ...

Global site tag (gtag.js) - Google Analytics