JavaScript Array(数组)对象
数组对象的作用是:使用单独的变量名来存储一系列的值。
数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。
数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。
创建数组
语法
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
返回值
返回新创建并被初始化了的数组。
如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。
当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。
当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。
字面
var myCars = ['Saab','Volvo','BMW'];
在一个数组中你可以有不同的对象
所有的JavaScript变量都是对象。数组元素是对象。函数是对象。
因此,你可以在数组中有不同的变量类型。
对象属性
属性 |
描述 |
constructor |
返回对创建此对象的数组函数的引用。 |
length |
设置或返回数组中元素的数目。 |
prototype |
使您有能力向对象添加属性和方法。 |
对象方法
方法 |
描述 |
concat() |
连接两个或更多的数组,并返回结果。 |
join() |
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() |
删除并返回数组的最后一个元素。 |
push() |
向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() |
颠倒数组中元素的顺序。 |
shift() |
删除并返回数组的第一个元素。 |
slice() |
从某个已有的数组返回选定的元素。 |
sort() |
对数组的元素进行排序。 |
splice() |
删除元素,并向数组添加新元素。 |
toSource() |
返回该对象的源代码。 |
toString() |
把数组转换为字符串,并返回结果。 |
toLocaleString() |
把数组转换为本地数组,并返回结果。 |
unshift() |
向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() |
返回数组对象的原始值。 |
数组创建测试
//创建数组
var hege = new Array(4);
document.write('<p>' + 'hege.length = ' + hege.length + '</p>');
document.write('<p>' + 'typeof hege[0] = ' + typeof hege[0] + '</p>');
try
{
//数组赋值
hege[0] = 'Cecilie';
hege[1] = 'Lone';
hege[2] = 'Emil';
hege[3] = 'Tobias';
hege[10] = 15.36; //超过原定义的数组长度
}
catch(err)
{
//未发生异常
txt = '出错信息' + err.message
document.write('<p>' + txt + '</p>');
}
document.write('<p>' + 'hege = ' + hege.toString() + '</p>');
document.write('<p>' + 'typeof hege[4] = ' + typeof hege[4] + '</p>');
document.write('<p>' + 'typeof hege[10] = ' + typeof hege[10] + '</p>');
document.write('<p>' + 'hege.length = ' + hege.length + '</p>');
函数测试代码
//函数concat(arrayX, arrayX,...,arrayX),arrayX可以是具体的值,也可以是数组对象。可以是任意多个。返回一个新的数组。
var a = [1, 2, 3];
var b = a.concat(4,5);
document.write('<p>' + 'a = ' + a + '</p>');
document.write('<p>' + 'b = ' + b + '</p>');
document.write('<p>' + 'a.concat(4,5) = ' + a.concat(4,5) + '</p>');
var c = new Array().concat(a, b);
document.write('<p>' + 'c = ' + c + '</p>');
var arr1 = new Array(3);
arr1[0] = 1;
arr1[1] = 2;
arr1[2] = 3;
var arr2 = new Array(3);
arr2[0] = 'James';
arr2[1] = 'Adrew';
arr2[2] = 'Martin';
var arr3 = [true, false];
document.write('<p>' + 'arr1.concat(arr2, arr3) = ' + arr1.concat(arr2, arr3) + '</p>');
//函数join([separator]), separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。返回字符串。
var arr1 = new Array(3);
arr1[0] = 'George';
arr1[1] = 'John';
arr1[2] = 'Thomas';
document.write('<p>' + 'arr1.join() = ' + arr1.join() + '</p>');
document.write('<p>' + 'arr1.join("\\") = ' + arr1.join('\\') + '</p>');
//函数pop(),返回对象最后一个元素。
var arr1 = new Array(3);
arr1[0] = 'George';
arr1[1] = 'John';
arr1[2] = 'Thomas';
document.write('<p>' + 'arr1 = ' + arr1 + '</p>');
document.write('<p>' + 'arr1.pop() = ' + arr1.pop() + '</p>');
document.write('<p>' + 'arr1 = ' + arr1 + '</p>');
//函数push(newelement1[,newelement2,...,newelementX]), 在数组尾部添加元素。返回值,把指定的值添加到数组后的新长度。
var arr1 = new Array(3);
arr1[0] = 'George';
arr1[1] = 'John';
arr1[2] = 'Thomas';
var arr2 = new Array(3);
arr2[0] = 'James';
arr2[1] = 'Adrew';
arr2[2] = 'Martin';
document.write('<p>' + 'arr1 = ' + arr1 + '</p>');
document.write('<p>' + 'arr1.push("Victor", arr2) = ' + arr1.push('Victor', arr2) + '</p>');
document.write('<p>' + 'arr1 = ' + arr1 + '</p>');
document.write('<p>' + 'arr1 = ' + arr1[4] + '</p>');
//函数reverse(), 用于颠倒数组中元素的顺序。
var arr = new Array(3);
arr[0] = 'George';
arr[1] = 'John';
arr[2] = 'Thomas';
document.write('<p>' + 'arr = ' + arr + '</p>');
arr.reverse();
document.write('<p>' + 'arr.reverse() = ' + arr + '</p>');
//函数shift(), 用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回值, 数组原来的第一个元素的值。
var arr = new Array(3);
arr[0] = 'George';
arr[1] = 'John';
arr[2] = 'Thomas';
document.write('<p>' + 'arr.shift() = ' + arr.shift() + '</p>');
document.write('<p>' + 'arr = ' + arr + '</p>');
//函数slice(start [,end])。 start, 规定从何处开始选取。 end, 规定从何处结束选取。
var arr = [90, 91, 92, 93, 94, 95, 96, 97, 98, 99];
document.write('<p>' + 'arr.slice(1) = ' + arr.slice(1) + '</p>');
document.write('<p>' + 'arr.slice(100) = ' + arr.slice(100) + '</p>');
document.write('<p>' + 'arr.slice(-1) = ' + arr.slice(-1) + '</p>');
document.write('<p>' + 'arr.slice(1, 5) = ' + arr.slice(1, 5) + '</p>');
document.write('<p>' + 'arr.slice(5, 5) = ' + arr.slice(5, 5) + '</p>');
document.write('<p>' + 'arr.slice(-10, 5) = ' + arr.slice(-10, 5) + '</p>');
document.write('<p>' + 'arr.slice(-10, -5) = ' + arr.slice(-10, -5) + '</p>');
document.write('<p>' + 'arr.slice(-10, -1) = ' + arr.slice(-10, -1) + '</p>');
document.write('<p>' + 'arr.slice(-10, 1) = ' + arr.slice(-10, 1) + '</p>');
//函数sort(sortby), 用于对数组的元素进行排序。返回值, 对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
var arr = new Array(6);
arr[0] = 'George';
arr[1] = 'george';
arr[2] = 'Adrew';
arr[3] = 'adrew';
arr[4] = 'a99drew';
arr[5] = '10Tank';
document.write('<p>' + 'arr = ' + arr + '</p>');
document.write('<p>' + 'arr.sort() = ' + arr.sort() + '</p>');
var arr = new Array(6);
arr[0] = 15;
arr[1] = 1;
arr[2] = 385;
arr[3] = 810;
arr[4] = 259;
arr[5] = 1000;
var arr1 = new Array(6);
arr1[0] = '15';
arr1[1] = '1';
arr1[2] = '385';
arr1[3] = '810';
arr1[4] = '259';
arr1[5] = '1000';
document.write('<p>' + 'arr.sort() = ' + arr.sort() + '</p>');
document.write('<p>' + 'arr1.sort() = ' + arr1.sort() + '</p>');
function sortNumber(a, b)
{
return a - b;
}
document.write('<p>' + 'arr.sort(sortNumber) = ' + arr.sort(sortNumber) + '</p>');
document.write('<p>' + 'arr1.sort(sortNumber) = ' + arr1.sort(sortNumber) + '</p>');
//函数splice(index, howmany [, item1,...,itemX]), 向/从数组中添加/删除项目,然后返回被删除的项目。
//index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX 可选。向数组添加的新项目。
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('<p>' + 'arr = ' + arr + '</p>');
arr.splice(2, 0, 'William');
document.write('<p>' + 'arr = ' + arr + '</p>');
arr.splice(2, 1);
document.write('<p>' + 'arr = ' + arr + '</p>');
arr.splice(2, 3, 'William');
document.write('<p>' + 'arr = ' + arr + '</p>');
//函数toString(), toLocaleString()
var arr = new Array(6);
arr[0] = 'George';
arr[1] = 'John';
arr[2] = 'Thomas';
arr[3] = 'James';
arr[4] = '导弹';
arr[5] = 'Martin';
document.write('<p>' + 'arr.toString() = ' + arr.toString() + '</p>');
document.write('<p>' + 'arr.toLocaleString() = ' + arr.toLocaleString() + '</p>');
//函数unshift(newelement1,newelement2,....,newelementX), 可向数组的开头添加一个或更多元素,并返回新的长度。
var arr = new Array(3);
arr[0] = 'George';
arr[1] = 'John';
arr[2] = 'Thomas';
document.write('<p>' + 'arr.unshift("Martin", 1526.57) = ' + arr.unshift('Martin', 1526.57) + '</p>');
document.write('<p>' + 'arr = ' + arr + '</p>');
总结整理
-
创建的数组未赋值前,typeof为undefined。数组创建后可以任意添加。
- 数组对象可以被重新赋值为其他对象,赋值后不能作为数组操作。JavsScript的其他对象也应该有相似我特点。
- 函数join(), toString()都是把数组转换为字符串,join()可以指定元素之间的分隔符,toString()函数使用默认分隔符。
- 函数pop(), shift() 都是从数组中删除一个元素,并返回删除的元素。pop()为删除最后一个元素,shift()为删除第一个元素。
- 函数push(), unshift() 都是向数组中添加一个或多个元素。push()在数组尾部添加,unshift()在数组开头添加。
- 函数splice(), 可以删除指定多个元素,同时也可以在指定位置添加元素。
分享到:
相关推荐
个人多年前学习笔记,Javascript数组,初学者可以看看,高手就不用看了
JavaScript-Array-Helper 在ES6 JavaScript中,您将不得不学习新的数组帮助程序,而不是替换循环,而是要有另一种方法来解决您的代码,或者以更有组织的方式减少代码。怎么跑? node for-each-example.js 笔记...
javascript学习笔记之Array 数组类型介绍,需要的朋友可以参考下
本文实例讲述了JavaScript学习笔记之数组基本操作。分享给大家供大家参考,具体如下: 一、数组定义 1、定义 vara=[1,2,3] vara=newArray(1,2,3); 2、长度 返回长度 [removed] vara=[1,2,3,4,5,6]; alert(a...
javascript对象部分 一:基础部分 ...它们是Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、Error 以及 String 对象。 4.对象只是一种特殊的数据。对象拥有属性和方法。 Ja
D []--实例化一个空数组对象 实例化空数组:var arr=[]; 特点:元素个数不限定,元素类型不限制 13.Array 对象的常用方法: |--1.join()方法--用于把数组中的所有元素放入一个字符串 | eparato表示要使用的...
数组的构造函数 由于数组的构造函数在处理参数时的不确定性,因此强烈建议使用 [] 符号来创建一个新数组。 [1, 2, 3]; // Result: [1, 2, 3]new Array(1, 2, 3); // Result: [1, 2, 3][3]; // Result: [3]new Array...
ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了)。上一次标准的制订还是2009年出台的ES5。目前ES6的标准化工作正在进行中,...
数组是一组按序排列的值,相对地,对象的属性名称是... 与Javascript中的大多数对象一样,可以使用new操作符连同Array()构造函数,或者通过使用字面量语法来创建数组对象 【1】使用Array构造函数(在使用Array构造函数
使用JavaScript数组方法 该站点是有关如何在javascript中使用map()和forEach()方法的简单演示。 动机 当我第一次使用,我发现了javascript方法map()来遍历JSX中的数据。 以前有一些用JavaScript编写功能代码的经验,...
这是一个具有一致行结尾的数组和对象 var array = [ 1, 2, 3, ]; var object = { a: 1, b: 2, c: 3, }; 这是一个行尾不一致的数组和对象 var array = [ 1, 2, 3 ]; var object = { a: 1, b: 2, c: 3 }...
11) JavaScript中面向对象的特性: a) 实例属性:在构造函数创建或初始化的属性。 b) 实例方法:在构造函数中把原型对象中的一个属性设为函数来实现。 c) 类属性:构造函数本身的属性。 d) 类方法:用合适的函数作为...
JavaScript的对象基础 本篇主要讲解本地对象Array和Date的各种方法。 一种面向对象语言需要向开发者提供四种基本能力: (1) 封装——把相关的信息(无论数据或方法)存储在对象中的能力。 (2) 聚集——把一个对象...
字符串数组 字符串数组类。 为什么不直接使用原生Arrays ? 一个StringArray 防止将非字符串原语添加到array 提供限制string长度的选项允许花哨的索引花式花式===获取获取sget 重新获得获取获取设置方法放我设置设置...
推荐阅读:JavaScript学习笔记之数组的增、删、改、查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列。举例来说,我们有一...
Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 - NodeJS 2、嵌入在浏览器中的JS...
因为IE7在数组对象上使用indexOf会报错,所以需要重写一个兼容性的。 代码如下: Array.prototype.lastIndexOf(item,index){ var n = this.length,i = (index==null||index>n-1)?n-1:index; if(i ...
本文给大家分享我的javascript高级编程学习笔记之object和array引用类型,涉及到javascript引用类型相关知识,大家一起看看把。 1. Object类型 大多数引用类型值都是Object类型的实例;而且Object也是ECMAScript中...
** javascript从入门到跑路—...两种创建数组的语法: 1、构造函数的形式: new Array() 2、创建字面量的形式: [ ] 那么下面我们来分别举个栗子: 第一种创建数组的方法举例 栗2: 用创建字面量的形式: 补充: 获