js中常用的数组方法

一、数组的创建方式及区别

var arr = new Array('name','age','sex');  //构造函数创建(首字母大写,new去调用)
    var arr1 = [1,3,5,7,2];    //字面量创建
    //字面量创建和构造函数创建的区别     构造函数创建只有一项时代表数组的长度
    var arr2 = new Array(5);
    console.log(arr2.length);  //5
    var arr3 = [3];
    console.log(arr3.length);    //1

二、数组的常用方法
1、push()可以接收任意参数的长度,返回的是修改后数组的长度,会改变原数组

var arr1 = [1,3,5,7,2];    //字面量创建
    console.log(arr1.push(11,22,33));   //8
    console.log(arr1);   //(8) [1, 3, 5, 7, 2, 11, 22, 33]

2、pop() 表示移除末尾的最后一项,会减少数组的长度,返回的是移除的值,会改变原数组

var arr1 = [1,3,5,7,2];    //字面量创建
 console.log(arr1.pop());    //2
 console.log(arr1);//    [1, 3, 5, 7]

3、reverse() 会直接反转数组的顺序,返回改变后的数组

var arr1 = [1,2,3,4,5,6,7];    //字面量创建
  console.log(arr1.reverse());    //(7) [7, 6, 5, 4, 3, 2, 1]

4、sort() 按字母表升序排列数组项,不会正确排列数组,数字>大写>小写

//var arr1 = [1,33,5,7,200,40];    //字面量创建
// console.log(arr1.sort());   // [1, 200, 33, 40, 5, 7]
 	var arr1 = [1,33,5,7,200,40];
    function num(a,b){
        return a-b;
    }
    console.log(arr1.sort(num));   //[1, 5, 7, 33, 40, 200]

5、concat();方法可以基于当前数组中的所有项创建一个新数组,参数可以是数组项或者数组。

var arr1 = [1,3,5,7,2]; 
 console.log(arr1.concat('abc',arr1));  //[1, 3, 5, 7, 2, "abc", 1, 3, 5, 7, 2]

6、 slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数(索引位置),不改变原数组
参数一代表索引的位置,第二个参数取不到

var arr1 = [1,3,5,7,2]; 
console.log(arr1);  //1,3,5,7,2
console.log(arr1.slice(1,4));  //3,5,7

7、splice() 方法,对数组进行删除、插入、替换,是最强大的数组方法,不返回新数组,改变原数组,
参1:起始索引位置
参2:删除的长度
参数3开始:需要添加的数组项。

var arr1 = [1,3,5,7,2]; 
    //表示从索引为1的地方删除一项
    console.log(arr1.splice(1,1));
    console.log(arr1);   //  1,5,7,2
var arr1 = [1,3,5,7,2]; 
    //表示从索引为1的地方,删除0项,添加a,b
    console.log(arr1.splice(1,0,'a','b')) 
    console.log(arr1);[1, "a", "b", 3, 5, 7, 2]

8、join();将数组转成字符串,参数是连接符,不改变原数组,返回的是新数组

var arr1 = [1,3,5,7,2]; 
console.log(arr1.join());    //1,3,5,7,2
console.log(arr1.join(''));  //13572
console.log(arr1.join(' '));  //1 3 5 7 2
console.log(arr1.join('#'));   //1#3#5#7#2
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值