JavaScript:数组中的一些方法

1.jion()方法
方法Array.join()可以把一个数组的所有元素都转换成字符串,然后再把它们链接起来。可以指定一个可选的字符串来分隔字符串中的元素。如果没有指定的分隔字符串,就使用逗号分隔元素。

var a = [1,2,3];
var s = a.join(); //"1,2,3"
a instanceof Array   //true
//指定一个分隔符
var t = a.join("|") //"1|2|3"
t instanceof Array   //true

2.reverse()方法
Array.reverse()将颠倒数组元素的顺序并返回颠倒后的元素.它在原数组上方执行这一操作,也就是说,!!!!它并不是创建一个重排元素的新数组!!!!!!!没有重新排序!!!!!仅仅只是倒序!!!!!

var a =[1,2,5,3,4]
var s = a.reverse()
alert(s)   //4,3,5,2,1

3.sort()方法
Array.sort()是在原数组上对数组元素进行排序,返回排序后的数组。如果调用sort()时不传递给它参数,那么它将按照!!!字母顺序!!!对数组进行排序(如果有必要的话,可以暂时将元素转换成字符串以执行比较操作)

var a =["banana","cherry","apple"]
var s = a.sort()
alert(s)    //apple,banana,cherry 

var a =[33,4,1111,22]
var s = a.sort()
alert(s)   // 输出1111,22,33,4 因为是按照字母顺序排序的

如果要将数组按照别的顺序来排序,必须将一个比较函数作为参数传递给sort()。该比较函数确定它的两个参数在排序数组中哪个在前,哪个在后。如果第一个参数一位于第二个参数之前,那么比较函数将返回一个小于0的数。如果第一个参数应该出现在第二个参数之后,那么比较函数就返回一个大于0的数。如果两个参数相等,那么比较函数返回0

var a =[33,4,1111,22]
var s = a.sort( function(a,b){
  return a-b;
})
alert(s)    //输出 4,22,33,1111

4.concat()方法
Array.concat()能创建并返回一个数组,这个数组包含了调用concat()的原始数组,其后跟随的是concat()的参数。如果其中有些参数是数组,那么它将被展开,其元素将被添加到返回的数组中。但是要注意,concat()不能递归的展开一个元素为数组的数组

var a =[33,4,1111,22]
var s = a.concat(4,5);
s    //33,4,1111,22,4,5

var a =[33,4,1111,22]
var s = a.concat([4,5]);
s   //33,4,1111,22,4,5

var a =[33,4,1111,22]
var s = a.concat([4,5],[6,7]);
s   //33, 4, 1111, 22, 4, 5, 6, 7

var a =[33,4,1111,22]
var s = a.concat([4,5],[5,[6,7]]);
s   //33, 4, 1111, 22, 4, 5, 5, [6, 7]  !!!!注意这里!!!!

5.slice()方法
Array.slice()方法返回的是指定数组的一个片段,或者说是子数组。它的两个参数决定了要返回片段吧的起止点。返回的数组包含由第一个参数指定的元素和从那个元素开始到第二个指定的元素为止的元素,但是不包含第二个参数所指定的元素。如果两个参数中有一个是负数,难么它所指定的是相对于数组中的最后一个元素而言的元素。例如,参数值为-1指定的是数组中最后的一个元素,而参数为-3,指定的从数组的最后一个元素起,倒数第三个元素。

var a =[33,4,1111,225]
    a.slice(0,3);  //33,4,1111 不包含下标为3的元素
    a.slice(3);    //22,5  从下标为3的元素开始
    a.slice(1,-1)  //4,1111,22  从下标为1开始 到最后一个元素 但是不包括最后一个元素
    a.slice(0,-2) //33,4,1111 截止到倒数第二个元素 但是不包括第二个元素

6.splice()
Array.splice()是插入或删除数组元素的通用方法。它在原数组上修改数组,就像slice()和concat()那样并不创建新数组。splice()可以把元素从数组中删除,也可以将新元素插入到数组中,或者同时执行这两种操作。
splice()的第一个参数指定要插入或删除的元素在数组中的位置。第二个参数指定了要从数组中删除的元素个数。如果第二个参数被省略了,那么将删除从开始元素到数组结尾处的所有元素。splice()返回的是删除了之后的数组,如果没有删除任何元素,则返回空数组

var a =[33,4,1111,22,5]
var s = a.splice(1,2,10,11);
s   //4,1111   返回删除后的数组
a   //33,10,11,22,5


var a =[33,4,1111,22,5]
var s = a.splice(1,0,'a','b');
s  //[]
s instanceof Array   //true
a  //33, "a", "b", 4, 1111, 22, 5

!!!!注意!!!! splice()并不能将它插入的数组参数展开


var a =[33,4,1111,22,5]
var s = a.splice(1,3,[8,9]);
s   //  4,1111,22
a   //33,[8,9],5

7.push()和pop()方法
push()和pop()方法使我们可以像栈一样操作数组,也就是在对数组最后一个元素进行操作。
push()返回的是数组的新长度
pop()返回的是删除的值

var a =[];
a.push(1,2,3);
a   //1,2,3
a.pop();
a   //1,2

8.unshift()和shift()

unshift()和shift() 与push()和pop()非常相似 只不过它们是在数组头部进行操作
但是 unshift()返回的是数组的新长度
shift()返回的是数组的第一个元素

var a =[4,5,6];
var b = a.unshift(1,2,3)
a   //1,2,3,4,5,6
a.shift();
a  //2,3,4,5,6

9.toString()和toLocalString()
和所有的javaScript对象一样 数组也有toString()方法。这个方法可以将数组的每个元素换成一个字符串

var a =[4,5,6];
var b = a.toString();
b      //"4,5,6"
typeof b   //string
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值