`

数组的使用

 
阅读更多
1.如何创建数组
2.如何对数组进行操作(添加,删除,读取)
3.数组常见方法和属性

如何创建一个数组,一般地根据初始化设定简单分为3种:

1.单纯创建数组:
var arr=new Array();
要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用
2.创建数组的同时规定数组大小:
var arr=new Array(10);//这里就创建了一个初始化大小为10的数组
注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为

4294967295

3.直接初始化:
var arr=new Array("love","hate","pain");//这里就直接初始化了数组
或var arr=["happy","cute","scare"];//括号也可以声明一个数组对象


当然,类似C语言,可以定义2维3维和多维的数组,例如:

<script language=Javascript>
    var myArray = new Array();
    for(var i=0;i<10;i++ )...{
        myArray[i]=new Array();
        myArray[i][0]=Math.floor(Math.random()*10);
        myArray[i][1]=Math.floor(Math.random()*10);
        myArray[i][2]=Math.floor(Math.random()*10);
        myArray[i][3]=Math.floor(Math.random()*10);
        myArray[i][4]=Math.floor(Math.random()*10);
        myArray[i][5]=Math.floor(Math.random()*10);
        myArray[i][6]=Math.floor(Math.random()*10);
        myArray[i][7]=Math.floor(Math.random()*10);
        myArray[i][8]=Math.floor(Math.random()*10);
    }
  
    myArray.sort( function(x, y) ...{
        return (x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2])
    });
    for(var i=0;i<myArray.length;i++ )...{
        document.write(myArray[i].join(",") + "<br/>");
    }
</script>


数组的属性:length
arr.length返回数组arr的长度,常见于循环中对数组的遍历,比如:
for(var i=0;i<arr.length;i++){
执行部分
}
数组元素的访问: arr[index],其中index表示索引即数组基数,从0开始,共有arr.length个元素.比如: arr[0]访问第一个数组元素,arr[1]访问第二个数组元素....依

次类推 数组的操作方法:先概览下下面的这些操作数组常用的方法(13个)

toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),
pop(),push(),shift(),unshift(),sort(),splice()
下面逐一分析这些方法的功能和用法.

toString(),valueOf(),toLocalString():
功能:返回数组的全部元素
注:数组名也可以返回整个数组
代码:

    var m=["am","bm","cm"];//用括号声明一个数组对象
    alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm
    alert(m.valueOf());//valueOf()也返回数组对象的所有内容
    alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究
    alert(m);//数组名也返回数组对象的所有内容

join():
功能:把数组各个项用某个字符(串)连接起来,但并不修改原来的数组
代码:

    var m=["am","bm","cm"];//用括号声明一个数组对象
    var n=m.join("---");//用---连接am,bm,cm.
    alert(m.toString());//m并没有被修改,返回am,bm,cm
    alert(n);//n是一个字符串,为am---bm---cm


split():
功能:把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串
代码:

    var str="I love maomao,I am caolvchong";
    var arr=str.split("o");//按字符o把str字符串分割成一个数组
    alert(arr);//输出整个数组


slice():返回某个位置开始(到某个位置结束)的数组部分,不修改原数组
代码:

    var m=["am","bm","cm","dm","em","fm"];
    var n=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fm
    var q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em
    alert(n);
    alert(q);


数组对象的栈操作:
push():数组末尾添加一个项
pop():删除数组最后一个项
代码:

    var m=["am","bm","cm","dm","em","fm"];
    m.push("gm");//在数组末尾添加元素gm
    alert(m);
    m.pop();//删除数组最后一个元素gm
    alert(m);


数组对象的队列操作:
unshift():数组头添加一个项
shift():删除数组第一个项
代码:

    var m=["am","bm","cm","dm","em","fm"];
    m.unshift("gm");//在数组第一个元素位置添加元素gm
    alert(m);
    m.shift();//删除数组第一个元素gm
    alert(m);


sort():数组按字符的ASCII码进行排序,修改数组对象
注:即便是数字数组,也将转化为字符串来进行比较排序
代码:

    var m=["am","fm","gm","bm","em","dm"];
    m.sort();//按字母序排序
    alert(m);


concat():在数组尾添加元素,但不修改数组对象
代码:

    var m=["am","bm"]
    var n=m.concat("cm");//添加一项cm,并且赋予新数组对象
    alert(m);//原数组没有被修改
    alert(n);//输出新数组对象


splice():在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象
细节:
splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的
进行添加:splice(起始项,0,添加项)
进行删除:splice(起始项,要删除的项个数)
进行替换:splice(起始项,替换个数,替换项) 这个其实是添加删除的共同结果
代码:

    var m=["am","bm"]
    m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm
    alert(m);
    m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm)
    alert(m);
    m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm)
    alert(m);
分享到:
评论

相关推荐

    ORACLE数组使用方法

    ORACLE 数组使用方法 Oracle 数组是一种复杂的数据类型,可以存储多个元素,数组可以分为固定数组和可变数组两种类型。在 Oracle 中,数组可以用来存储大量的数据,并且可以通过索引来访问数组中的元素。 固定数组...

    oracle中的数组使用

    oracle中的数组使用 oracle中的数组使用 oracle中的数组使用 oracle中的数组使用 oracle中的数组使用 oracle中的数组使用

    unity中各种数组使用的区别

    Unity 中各种数组使用的区别 Unity 中的数组类型多种多样,每种数组都有其特点和使用场景。了解这些数组类型的区别和特点对于 Unity 开发者来说是非常重要的。本文将详细介绍 Unity 中各种数组的使用和区别。 ...

    php 数组使用详解 推荐

    索引数组使用数字作为键,而关联数组使用字符串作为键。此外,还可以定义多维数组,即数组中的元素也可以是数组。 遍历数组是数组操作中的一个基本且常用的步骤。在PHP中,最常见的遍历数组的方法是使用foreach循环...

    Java数组使用的例子

    Java数组在Java虚拟机(JVM)和Java类库中是一个内置的数据结构,因此其源代码并不直接存在于Java的源代码库中。然而,你可以通过Java的API文档来理解数组的行为和特性。...以下是一个简单的Java数组使用的例子:

    java数组使用视频教程

    在这个“Java数组使用视频教程”中,我们将深入理解数组的内存管理、元素的创建与使用。 首先,我们来探讨“一维数组内存分析”。在Java中,数组在内存中是一段连续的存储空间,每个元素都有一个唯一的索引,从0...

    Java的常见数组使用

    本篇文章将深入探讨Java中的常见数组使用。 一、数组的声明与初始化 在Java中,数组的声明通常包含元素类型和数组的长度。例如,如果你想要一个存储整数的数组,可以这样声明: ```java int[] numbers; ``` 接着...

    BJXIDE的数组使用方法

    BJXIDE的数组使用方法涉及到如何在不支持指针的情况下,通过特定的寄存器(MP0和IAR0)对数组进行访问和操作。此外,还包含如何定义和使用常量以及如何通过查表的方式访问ROM数据。下面对这些知识点进行详细说明。 ...

    pb 编写的数组使用方法,希望对初学者有用

    根据提供的代码片段,我们可以深入探讨数组的使用方法,尤其是针对一维和二维数组的初始化、赋值以及如何在实际场景中应用这些数组。 ### 一维数组与二维数组的初始化 在代码示例中,作者使用了`pb`(PowerBuilder...

    C语言程序设计-程序举例结构体数组使用.pptx

    C语言程序设计-结构体数组使用 在 C 语言程序设计中,结构体数组是一种非常重要的数据结构,今天我们将通过一个程序举例来深入了解结构体数组的使用。 结构体数组的概念 在 C 语言中,结构体是一种用户定义的数据...

    lotus domino 数组使用归纳总结

    本文将深入探讨Lotus Domino中数组的使用,包括数组的创建、操作和常见应用。 一、数组的基本概念 在Lotus Domino中,数组是一种数据结构,可以存储多个相同类型的数据项。数组由一个或多个元素组成,每个元素都有...

    Python11-数组使用.docx

    ..Python11_数组使用.docx

    Python11-数组使用.pdf

    ..Python11_数组使用.pdf

    labview数组使用练习题

    题目:1 用for循环产生4行100列的二维数组,数组成员如下: 1,2,3.......100; 100,99,98.......1; 6,7,8.......105; 105,104,103......6; 从这个数组中提取2行50列的二维数组,数组成员如下: 50,49,48......1; 56,57,58....

    TIA博途中变长数组的介绍与使用入门示例.docx

    本文将深入探讨变长数组的定义、使用方法以及注意事项,以帮助初学者快速掌握其基本操作。 首先,理解变长数组的概念。变长数组(Variable Length Array,简称VLA)是指数组的大小可以在程序运行时动态确定。不同于...

    这是一篇Swift教程,对Swift中的数组使用方法作了介绍

    这是一篇Swift教程,对Swift中的数组使用方法作了介绍

    c语言对多维数组使用的总结

    C语言对多维数组的使用总结 一、多维数组地址的表示方法 在C语言中,多维数组可以被看作是一维数组的集合。例如,二维数组a[3][4]可以被分解为三个一维数组a[0]、a[1]、a[2],每一个一维数组又含有四个元素。数组a...

    对象数组的使用方法

    ### 对象数组的使用方法 在程序设计领域中,数据结构是编程的基础之一,而对象数组作为其中一种重要的数据组织形式,在实际应用中扮演着关键角色。本文将围绕“对象数组的使用方法”这一主题展开,详细介绍对象数组...

    Qt与Matlab混合编程中mwArray数组使用详解

    演示Qt 5.9与Matlab 2017b混合编程中,用于传递数据的mwArray数组的使用方法,包括数组维数设置、传入数据、读取返回数据、字符串型数据等。博文地址 https://blog.csdn.net/HongAndYi/article/details/79477031

Global site tag (gtag.js) - Google Analytics