JavaScript对象——Array

来源:互联网 发布:郑州网络销售抓人 编辑:程序博客网 时间:2024/06/06 00:07

JavaScript对象公用的属性

constructor

constructor属性返回对创建此对象的函数的引用

语法:

//object.constructorvar arr=new Array();console.log(arr.constructor);//function Array() { [native code] }

每个构造函数都有该属性

prototype

prototype 属性可以向对象添加属性和方法。

语法:

//object.prototype.name=value//object.prototype.fn=function(){}function Pop(a,b){    this.a=a;    this.b=b;    this.fn=function(){        console.log('defaultFunction');    }}Pop.prototype.c='newValue';Pop.prototype.newFn=function(){    console.log('newFunction');}var p=new Pop(val1,val2);console.log(p.a);//val1console.log(p.c);//newValuep.fn();//defaultFunctionp.newFn();//newFunction

Array

属性

length

length属性可以设置或返回数组中元素的数目

语法:

//arrayObject.lengthvar arr=new Array(3);arr[0]=1;arr[1]=2;arr[2]=3;console.log(arr.length);//3arr.length=5;console.log(arr.length);//5

方法

concat()

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而会返回一个被连接的数组。

语法:

//arrayObject.concat(arrayX,arrayX,......,arrayX)//拼接单个/多个元素var arr=[0,1,2];console.log(arr.concat(3,4));//[0,1,2,3,4]//拼接单个数组var arr1=[0,1,2];var arr2=[3,4,5];console.log(arr1.concat(arr2));//[0,1,2,3,4,5]//拼接多个数组var arr3=[6,7,8];console.log(arr1.concat(arr2,arr3));//[0,1,2,3,4,5,6,7,8]

join()

join() 方法用于把数组中的所有元素放入一个字符串,元素通过join()方法中传入的符号进行分割。如果不传入指定分隔符,则默认用逗号隔开。

语法:

//arrayObject.join(separator)var arr=[0,1,2];console.log(arr.join());//0,1,2console.log(arr.join('-'));//0-1-2

pop()

pop()方法用来删除数组中最后一个元素并返回被删除的元素的值,数组长度-1。如果数组为空,则数组长度不减,并且返回undefined。

语法:

//arrayObject.pop()var arr=[0,1,2];console.log(arr.pop());//2console.log(arr);//[0,1]var arr2=[];console.log(arr2.pop());//undefined

push()

push()方法向数组末尾添加一个或多个元素,并且返回新的长度。

语法:

//arrayObject.push(newElement,newElement2)var arr=[0,1,2];console.log(arr.push(3,4));//5console.log(arr);//[0,1,2,3,4]

reverse()

reverse()可以颠倒数组中的元素顺序

语法:

//arrayObject.reverse()var arr=[0,1,2];console.log(arr.reverse());//[2,1,0]

shift()

shift()方法用来删除数组中第一个元素并返回被删除的元素的值,数组长度-1。如果数组为空,则数组长度不减,并且返回undefined。

语法:

//arrayObject.shift()var arr=[0,1,2];console.log(arr.shift());//0console.log(arr);//[1,2]var arr2=[];console.log(arr2.shift());//undefined

slice()

slice() 方法可从数组中返回选定位置的元素组成的数组

语法:

//arrayObject.slice(start,end)var arr=[0,1,2,3,4,5,6];console.log(arr.slice(3));//[3,4,5,6]console.log(arr.slice(2,4));//[2,3]

sort()

sort()方法用于对数组中的元素进行排序,可使用排序函数进行排序

语法:

//arrayObject.sort(fn)var arr=['Ace','bbq','demo','func','Max','sss','xian'];console.log(arr.sort());//优先输出大写,然后按照A-Z顺序排序var arr2=['Ace','bbq','demo','func',8888,'Max','sss','xian',2333,'我我我',666,11111];console.log(arr2.sort());//默认按照数字开头>大写字母>小写字母A>Z>中文排序方式var arr3=['一','二','三','四','五','六','七','八'];console.log(arr2.sort());//["一", "七", "三", "二", "五", "八", "六", "四"]var arr4=[423,61,13,9,99,65,7346];console.log(arr4.sort());//[13, 423, 61, 65, 7346, 9, 99]按照数字开头排序//如果需要按规则排序,需要使用排序函数进行排序function asc(a,b){//从小到大升序排序    if(a>b)    return a-b;}var arr4=[423,61,13,9,99,65,7346];console.log(arr4.sort(asc));//[9, 13, 61, 65, 99, 423, 7346]function ch(a,b){//按照中文排序    return a.localeCompare(b); }var arr5 = [ '王', '张','李']; alert(arr5.sort(ch)); //依赖中文浏览器,对于非中文浏览器(例如chrome)会出现排序错误。

splice()

splice()方法用来删除并返回数组中的元素,同时可以在删除的位置添加新的元素。

语法:

//arrayObject.splice(index,num,newElement,newElement2)var arr=[0,1,2,3,4,5,6];console.log(arr.splice(2,2));//[2, 3]删除并返回下标为2开始的两个元素console.log(arr);//[0, 1, 4, 5, 6]var arr2=[0,1,2,3];arr2.splice(1,1,234);console.log(arr2);//[0, 234, 2, 3]删除下标为1开始的一个元素并在删除位置添加一个新的元素(234)

toSource()

toSource() 方法表示对象的源代码。
该原始值由 Array 对象派生的所有对象继承。
toSource() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

浏览器支持

只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。

语法:

object.toSource()

toString()

toString()方法可以数组转为字符串并返回。元素与元素之间用英文逗号隔开。

语法:

arrayObject.toString();var arr=[1,2,3,4];console.log(arr.toString());//1,2,3,4

toLocaleString()

toLocaleString()方法把数组转换为本地字符串。

语法:

//arrayObject.toLocaleString()var arr=[1,2,3,4];console.log(arr.toLocaleString());//1,2,3,4

unshift()

unshift()方法向数组开头添加一个或多个新的元素,并返回新的数组长度。

语法:

arrayObject.unshift(newElement,newElement2);var arr=[1,2,3,4];console.log(arr.unshift(777,888));//6console.log(arr);//[777, 888, 1, 2, 3, 4]

valueOf()

valueOf() 方法返回 Array 对象的原始值。
该原始值由 Array 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

语法:

//arrayObject.valueOf()