javascript Array对象基础知识小结_javascript技巧

对于Array对象我的总结思想是:5法,3招,12式

1.声明5法:只针对一维数组,当然还有二维三维,这里就不做解释了

复制代码 代码如下:

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

2.属性3招:constructor,length,prototype
constructor表示创建对象的函数。 constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。例如:

复制代码 代码如下:

x = new String("Hi");
if (x.constructor == String)
// 进行处理(条件为真)。

function MyFunc {
// 函数体。
}
y = new MyFunc;
if (y.constructor == MyFunc)
// 进行处理(条件为真)。

Length表示数组的长度,有多少项。这个就不写示例了。
prototype返回对象类型原型的引用。用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype, 并使用它。

复制代码 代码如下:

function array_max( ){
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if(max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );

该代码执行后,y 保存数组 x 中的最大值,或说 6。
3.方法12式:concat 方法 | join 方法 | pop 方法 | push 方法 | reverse 方法 | shift 方法| unshift 方法| slice 方法| splice 方法| sort 方法| toString 方法| valueOf 方法

复制代码 代码如下:

//1.concat():返回一个新数组,这个新数组是由两个或更多数组组合而成的。
var a1 = [1,2,3,4];
var a2 = a1.concat("5",'6');
alert(a2); //结果:1,2,3,4,5,6
//2.join():返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
var a1 = [1,2,3,4];
var a2 = a1.join();
var a3 = a1.join(",");
var a4 = a1.join("|");
alert(a2); //结果:1,2,3,4
alert(a3); //结果:1,2,3,4
alert(a4); //结果:1|2|3|4
//3.pop():移除数组中的最后一个元素并返回该元素。如果该数组为空,那么将返回 undefined。
var a1 = [1,2,3,4];
var item = a1.pop();
alert(item); //结果:4
alert(a1);//结果:1,2,3
//4.push():将新元素添加(追加)到一个数组中,并返回数组的新长度值。push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。
var a1 = [1,2,3,4];
a1.push(5);
a1.push("6");
alert(a1);//结果:1,2,3,4,5,6
//5.reverse():返回一个元素顺序被反转的 Array 对象。
var a1 = [1,2,3,4];
a1.reverse();
alert(a1);//结果:4,3,2,1
//6.shift():移除数组中的第一个元素并返回该元素。
var a1 = [1,2,3,4];
a1.shift();
alert(a1);//结果:2,3,4
//7.unshift():将指定的元素插入数组开始位置并返回该数组。
var a1 = [1,2,3,4];
a1.unshift(5);
alert(a1);//结果:5,1,2,3,4
//8.slice():返回一个数组的一段。a1.slice(start, [end]),slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。
var a1 = [1,2,3,4];
var a2 = a1.slice(-1);
var a3 = a1.slice(0,-1);
var a4 = a1.slice(1);
alert(a2);//结果:4
alert(a3);//结果:1,2,3
alert(a4);//结果:2,3,4
//9.splice():从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
//arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
var a1 = [1,2,3,4];
var a2 = a1.splice(1,0);
var a3 = a1.splice(1,1);
var a4 = a1.splice(1,1,"5");
alert(a2);//结果:
alert(a3);//结果:2
alert(a1);//结果:1,5,4
//10.sort():返回一个元素已经进行了排序的 Array 对象。
var a1 = [2,3,1,4,"b","a"];
var a2 = a1.sort();
alert(a2);//结果:1,2,3,4,a,b
//11.toString():返回对象的字符串表示。
var a1 = [1,2,3,4,"b","a"];
var a2 = a1.toString();
alert(a2);//结果:1,2,3,4,b,a
//12.valueOf():返回指定对象的原始值。
var a1 = [1,2,3,4,"b","a"];
var a2 = a1.valueOf();
alert(a2);//结果:1,2,3,4,b,a

indexOf扩展:

复制代码 代码如下:

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,4];
alert(a.indexOf(3));
}
<input type="button" value="测试获取数组下标" onclick="testIndexOf()" />

时间: 2024-09-30 18:45:26

javascript Array对象基础知识小结_javascript技巧的相关文章

JavaScript中Array对象用法实例总结_javascript技巧

本文实例讲述了JavaScript中Array对象用法.分享给大家供大家参考,具体如下: Array数组对象有很多常用的方法和属性,现总结如下: 1. length属性,获取数组中元素的个数. 2. concat()方法,连接两个数组.将两个数组连接起来.示例如下: var names= new Array('Jack','Tom','Jim'); var ages= new Array(12,32,44); var concatArray; concatArray=names.concat(a

javascript正则表达式基础知识入门_javascript技巧

正则表达式的好处到底在哪里呢,下面我们先进行个了解: 我们用js中处理字符串的方法,写出取出字符串中数字的函数: var str='dgh6a567sdo23ujaloo932'; function getNumber(obj){ var arr=[]; for (var i = 0; i < obj.length; i++) { if (obj.charAt(i)>='0'&&obj.charAt(i)<='9'){ arr.push(obj.charAt(i)); }

JavaScript组成、引入、输出、运算符基础知识讲解_javascript技巧

javascript简介: JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript 是因特网上最流行的脚本语言. 下文重点给大家介绍js组成,引入,输出,运算符基础知识,具体详解如下所示: JavaScript组成: ECMAscript 浏览器对象模型 BOM 文档对象模型 DOM // ecmascript bom dom dom (文档对象模型) 用来访问和操纵htm

javascript继承的六大模式小结_javascript技巧

1.原型链 function SuperType(){ this.property = true; } SuperType.prototype.getSuperValue = function(){ return this.property; }; function SubType(){ this.subproperty = false; } //继承了SuperType SubType.prototype = new SuperType(); SubType.prototype.getSubV

JavaScript原生对象常用方法总结(推荐)_javascript技巧

下面都是我学习W3C School教程中有关JavaScript写的学习笔记,每个方法我都亲身测试过,每个方法的用途和参数列表,我都是在经过我亲身实践后加上了我自己的一点理解,解释的还算比较详细.现记录下来,以便查阅: javascript之Array类: 创建js数组两种方式: var arr = [];  或 var arr = new Array(); ()里可以指定长度,也可以不指定,指不指定都无所谓, 因为js里的数组长度是可变的 concat(arr1,arr2,arr3......

JavaScript lodash常见用法系列小结_javascript技巧

lodash一开始是Underscore.js库的一个fork,因为和其他(Underscore.js的)贡献者意见相左.John-David Dalton的最初目标,是提供更多"一致的跨浏览器行为--,并改善性能".之后,该项目在现有成功的基础之上取得了更大的成果,并于一月份发布了3.0版本. 下面给大家说下javascript lodash知识,具体详情如下所示: 1 _.compact用法 _.compact([0, 1, false, 2, '', 3,'mm']); var

javascript中Number的方法小结_javascript技巧

一.构造函数 Number(value) new Number(value) 二.Number属性 1.Number.MAX_VALUE 返回能表示的最大数字. 2.Number.MIN_VALUE 能表示的最小数字. 3.Number.NAN 非数字值. 4.Number.NEGATIVE_INFINITY 负无穷,当溢出时返回. 5.Number.POSITIVE_INFINITY 正无穷,当溢出时返回. 三.Number方法 1.toString() 使用指定进制,将一个数字转换为字符串.

JS闭包、作用域链、垃圾回收、内存泄露相关知识小结_javascript技巧

补充: 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包的特性 闭包有三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数和变量不会被垃圾回收机制回收 闭包的定义及其优缺点 闭包 是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量 闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露. 闭包是javascript

JavaScript判断对象是否为数组_javascript技巧

文中为大家分享了三种JavaScript判断对象是否为数组的方法, 1. typeof 首先我们会想到的是使用typeof来检测数据类型,但是对于Function, String, Number, Undefined等这几种基本类型来说,使用typeof来检测都可以检测到,比如代码如下: function test(){} console.log(typeof 1); // number console.log(typeof test); // function console.log(type