JS学习第九天----数组

数组

前面说过,数组也是对象的一种,记得吗?啥叫数组我就不说了,数组的那些基本特征,在内存中怎样存储,在堆上还是栈上?还是其它.忘记了的自己脑补.不说了,那种编程语言都有数组,尽管数组并非非常好用,并且确定无数,可是数据是基础,相信每一个人都是在解除了数组以后才接触的更高级的容器,容器都是有哪些比較好用的?那种容器相应着那种不同的数据更为合适?自己脑补.

今天说的是JS中的数组(Array)

先看实例:创建数组

<script>

var array=new Array();

array[0]="syx";

array[1]="nan";

array[2]=22;

for(i =0;i<array.length;++i)

{

document.write(array[i]+"<br/>")

}

</script>

使用for/in遍历数组:

for(x in array)

{

document.write(array[x]+"<br/>");

}

合并两个数组:用法concat

<script>

var arr1=new Array(3);

var arr2=new Array(3);

arr1[0]="syx";

arr1[1]="nan";

arr1[2]=22;

arr2[0]="zsf";

arr2[1]="nv";

arr2[2]=22;

document.write(arr1.concat(arr2));//document是个什么东西?这个就相当于一条输出语句,明确?

</script>

用数组的元素组成字符串:使用join()方法

<script>

var arr = new Array(3);

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

document.write(arr.join());//默认情况下使用逗号作为分隔符

document.write("<br />");

document.write(arr.join("."));//这里指定了分隔符,使用点号(.)

</script>

使用sort排序数组:

<script type="text/javascript">

//这是使用sort方法给数字数组排序

function sortNumber(a,b)

{

return a-b;

}

var arr=new Array(6);

arr[0] = "10"

arr[1] = "5"

arr[2] = "40"

arr[3] = "25"

arr[4] = "1000"

arr[5] = "1"

document.write(arr + "<br />");//这是没排序的结果

document.write(arr.sort(sortNumber));//这是排序后的结果

document.write("<br/>");

document.write("<br/>");

document.write("<br/>");

//使用sort方法给字符串数组排序

var arr = new Array(6)

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

arr[3] = "James"

arr[4] = "Adrew"

arr[5] = "Martin"

document.write(arr + "<br />")

document.write(arr.sort())

//俺也不知道你注意到了没有,字符串的默认排序是依照字典数排序的

</script>

以上仅仅是列举出了一些经常使用的方法.以下具体说一下Array数组的属性和方法

Array对象

Array对象用于在单个的变量中存储多个值.

创建Array对象的语法,假设你注意到我前面创建数组的方式,说明你是个有心人.

事实上吧,创建数组的方法有三种:

1.new Array();

2.new Array(size);

3.new Array(element0,,element1,...elementn);

參数

參数size是指定数组元素的个数.返回的数组,length字段将被设为size的值.

參数element1...elementn是參数列表.当使用这些參数来调用构造函数Array()时,新创建的数组的元素就会被初始化为这些值.他的length字段也会被设置值为參数的个数.

返回值

返回新创建并被初始化了的数组.

假设调用构造函数Array()时没有使用參数,那么返回的数组为空,length字段为0

当调用构造函数时值传递给它一个数字參数,该构造函数就返回具有制定个数,元素为undefined的数组.

当其它參数调用Array()时,该构造函数将用參数指定的值初始化数组.

当把构造函数作为函数调用,,不适用new运算符时,他的行为有使用new运算符调用它时的行为全然一样.

Array对象属性


属性名


描写叙述


constructor


返回对创建此对象的数组函数的引用


length


设置或返回数组中严肃的数组


prototype


使你有能力向对象加入属性和方法

Array对象方法


方法名


描写叙述


concat()


连接两个或很多其它的数组,并返回结果


join()


把数组的全部元素放入一个字符串,元素通过指定的分隔符进行切割


pop()


删除并返回数组的最后一个元素


push()


向数组的末尾加入一个或很多其它元素,并返回新的长度


reverse()


颠倒数组中元素的顺序


shift()


删除并返回数组的第一个元素


slice()


从某个已有的数组返回选定的元素


sort()


对数组的元素进行排序


splice()


删除元素,并向数组加入新的元素


toSource()


返回该对象的源码


toString()


把数组转换为字符串,并返回结果


toLocaleString()


把数组转换为本地数组,并返回结果


unshift()


向数组的开头加入一个或很多其它元素,并返回长度


valueOf()


返回数组对象的原始值

定义数组

数组对象用来在单独的变量名中存储一系列的值.

我们使用newkeyword来创建数组对象.案例:

var array =new Array()

有两种向数组赋值的方法(你能够加入随意多的值,就像你能够定义你须要的人一多的变量一样).

第一种:

var array=new Arrau()

array[0]=1;

array[1]=2;

array[2]=3;

也能够使用一个整数自变量来控制数组的容量:

var array=new Array(3)

array[0]=1;

array[1]=2;

array[2]=3;

另外一种:

var mycars=new Array("Saab","Volvo","BMW")

注意:假设你须要在数组内指定数值或者逻辑值,那么变量类型应该是数值或布尔变量,而不是字符变量.

訪问数组

通过指定数组名以及索引號码,你能够訪问某个特定的元素.

案例:

document.write(array[0]);

输出:Saab

改动数组中的值

假设改动已有数组中的值,仅仅要想指定下标加入一个新值就可以:

array[0]=”hahaha”;

測试代码:

document.write(array[0]);

输出为:hahaha

时间: 2024-11-08 23:49:07

JS学习第九天----数组的相关文章

[前端JS学习笔记]JavaScript 数组

一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {"json:":"666"}]; console.log(arr.length); 二.JavaScript 数组的两种声明 1.var arr = [元素]; var arr = ["坚持"]; 2.new Array(); 或者 var arr2 =

JS学习笔记-数组

ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说明,重点汇总一些类似于对象的数组的经常用法. 对象 创建 上篇提到创建对象的两种方式: 使用new运算符创建Object var obj = new Object(); 使用字面量方式创建 var   obj = {}; 这里值得注意的是在使用字面量(常量)创建Object时不会调用构造函数. 属性

js学习笔记——数组方法

join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1#2#3"; 如果没有指定分隔符,则默认为逗号 var str2=arr.join(); //str2="1,2,3"; reverse() 在原数组上把元素的顺序颠倒过来,并返回该数组 var arr=[1,2,3]; arr.reverse(); //arr=[3,2,1];

【转】Backbone.js学习笔记(二)细说MVC

文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由

Ext JS学习第二天 我们所熟悉的javascript(一)

此文用来记录学习笔记: •ExtJS是一个强大的javascript框架,如果想真正的掌握ExtJS,那么我们必须要对javascript有一定的认识,所以很有必要静下心来,抱着一本javascript书籍,恶补一番.推荐书籍<javascript高级程序设计>.<javascript设计模式>. •在这里我们学习一下可能你从未接触过的javascript,这些javascript知识是我们要学好ExtJS这个框架非常有必要的.必备的知识.我们需要掌握的内容有: –javascri

每日js学习笔记2014.5.4

<script language="javascript">var mystring = "这是第一个正则表达式的例子";var myregex = new RegExp("这是"); //创建正则表达式if (myregex.test(mystring)) //test的功能是查找字符串中是否有匹配项,有则返回true,没有则返回false{ document.write ("找到了指定的模式");}else{

JS学习笔记-JSON

JSON(JavaScriptObject Notation)-JS对象表示法,是JavaScript的一个严格子集,它是一种开发式和基于文本的数据交换格式,因此JSON并不是JS独有,其他很多语言也可以对JSON进行解析和序列化. 特点: 1.轻量级-易于阅读和编写,同时易于及其解析和生成 2.可表示类型: (1)简单值:字符串.数值.布尔值.null,不支持特殊值JS中的undefined (2)对象 { "user" : "Admin", "age&

JS求多个数组的重复数据

今天朋友问了我这个问题:JS求多个数组的重复数据 注: 1.更准确的说是只要多个数组中有两个以上的重复数据,那么这个数据就是我需要的 2.单个数组内的数据不存在重复值(当然如果有的话,你可以去重) 3.耗时问题,这一点很重要 源代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>获取多个数组中

【JS学习笔记】js中关于传地址的问题

我觉得初学者应该会遇到很多这样的问题 条件1.不想定义全局变量的时候 条件2.定义了外围变量却又要引用并且修改其中内容的时候 以下转一篇文章 -------------------------------------------------------------------------------------------------------------------------------------------------------- 很多人,包括我,受书本知识消化不彻底的影响,认为 J