您的位置:首页 > Web前端 > JavaScript

JavaScript对象——Array

2017-07-01 11:23 288 查看

JavaScript对象公用的属性

constructor

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

语法:

//object.constructor
var 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);//val1
console.log(p.c);//newValue
p.fn();//defaultFunction
p.newFn();//newFunction


Array

属性

length

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

语法:

//arrayObject.length
var arr=new Array(3);
arr[0]=1;
arr[1]=2;
arr[2]=3;
console.log(arr.length);//3
arr.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,2
console.log(arr.join('-'));//0-1-2


pop()

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

语法:

//arrayObject.pop()
var arr=[0,1,2];
console.log(arr.pop());//2
console.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));//5
console.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());//0
console.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));//6
console.log(arr);//[777, 888, 1, 2, 3, 4]


valueOf()

valueOf() 方法返回 Array 对象的原始值。

该原始值由 Array 对象派生的所有对象继承。

valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

语法:

//arrayObject.valueOf()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 对象