前面的话
数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组方法、数组删改方法、数组位置方法、数组归并方法和数组迭代方法共10类来进行详细介绍
对象继承方法
数组是一种特殊的对象,继承了对象Object的toString()、toLocaleString()和valueOf()方法
【toString()】
toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串
[注意]该方法的返回值与不使用任何参数调用join()方法返回的字符串相同
[1,2,3].toString();//'1,2,3'['a','b','c'].toString();//'a,b,c'[1,[2,'c']].toString();//'1,2,c'
由于alert()要接收字符串参数,它会在后台调用toString()方法,会得到与toString()方法相同的结果
alert([1,2,3]);//'1,2,3'
【toLocaleString()】
toLocaleString()是toString()方法的本地化版本,它经常也会返回与toString()方法相同的值,但也不总是如此。因为,它调用元素的是toLocaleString()方法将每个数组元素转化为字符串
var person1 = {toLocaleString: function(){return 'Nikolaos';},toString: function(){return 'Nicholas';}};var person2 = {toLocaleString: function(){return 'Grigorios';},toString: function(){return 'Greg';}};var people = [person1,person2];console.log(people.toString());//'Nicholas,Greg'console.log(people.toLocaleString());//'Nikolaos,Grigorios'
如果数组中的某一项的值是null或者undefined,则该值在toLocaleString()和toString()方法返回的结果中以空字符串表示
var colors = [1,undefined,2,null,3];console.log(colors.toString());//'1,,2,,3'console.log(colors.toLocaleString());//'1,,2,,3'
【valueOf()】
valueOf()方法返回数组对象本身
var a = [1, 2, 3];console.log(a.valueOf());// [1, 2, 3]console.log(a.valueOf() instanceof Array);//true
数组转换方法
【join()】
Array.join()方法是String.split()方法的逆向操作,后者是将字符串分割成若干块来创建一个数组
数组继承的toLocaleString()和toString()方法,在默认情况下都会以逗号分隔的字符形式返回数组项;而join()方法可以使用不同的分隔符来构建这个字符串,join()方法只接收一个参数,用作分隔符的字符串,然后返回包含所有数组项的字符串
如果不给join()方法传入任何值,则使用逗号作为分隔符
var a = [1,2,3];console.log(a.join());//'1,2,3'console.log(a.join(' '));//'1 2 3'console.log(a.join(''));//'123'var b = new Array(10);b.join('-');//'---------',9个连字符组成的字符串
新闻热点
疑难解答
图片精选