JavaScript对象——Array

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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值