JS数组及数组方法

数组是JS中的引用类型之一
引用类型和值的类型的区别:存放的位置不同
引用类型存放在内存里,堆内存
值类型存放在内存里,栈内存

**注:通常情况下,我们只在数组下存放同一类型的成员**

数组的定义

字面量、直接量:var arr = [ ];
构造函数:var arr1 = new Array( );
		var arr2 = Array( );
区别

字面量可以在定义数组的时候直接定义成员
构造函数也可以在定义的时候有直接定义成员
构造函数的特俗情况:当只有一个参数并且参数是数字的时候,该数字表示的是数组的长度

数组的使用

语法:数组[下标(索引)]
        var arr = [1, 2, 3, 4];

修改数组的成员:arr[0] = 111;
使用数组的成员:console.log(arr);
**

数组的循环 (常用for循环)

for (var i = 0; i < arr.length; i++){
    console.log(arr[i]);
}

数组的长度

数组天生有一个属性:length 它表示数组的长度 它是可读可写的
 数组的长度改变会影响数组。
	var arr = [1, 3, 4, 2, 7, 8];
    console.log(arr.length);//6
    arr.length = 3;
    console.log(arr.length); //[1, 3, 4]

删除数组的末尾项

	var arr = [1, 3, 5, 4, 8];
    arr.length -=1;
    console.log(arr); //[1, 3, 5, 4];

清空数组

arr.length = 0;

数组的常用方法

shift( ):删除头部的第一项
返回值:删除的项
改变原数组

  var arr = [1, 2, 3, 4, 5, 6];    
   var result = arr.shift( );
   console.log( arr); //[2, 3, 4, 5, 6]
   console.log( result ); //1

unshift( ):头部添加任一项
返回值:新数组的长度
该变原数组

var arr = [1, 2, 3, 4, 5, 6]; 
var newLength = arr.unshift(22, 34, 12);
console.log(arr); //[22, 34, 12,1, 2, 3, 4, 5, 6]
console.log("数组的新长度是"+ newLength); //9

pop( ) 用于删除尾部一项
返回值:删除的项
改变原数组

var arr = [1, 2, 3, 4, 5, 6]; 
var result = arr.pop( );
 console.log(arr); //[1, 2, 3, 4, 5]
 console.log("从尾部被移除的是:"+reuslt); //6

push() 用于往尾部增加任意项
返回值:新数组
该改变原数组

var arr1 = [1,2,3,4,5,6]
var result = arr1.push(11,22,33);
cosole.log(arr1); //[1, 2, 3, 4, 5, 6, 11, 22, 33]

sort( ) 用于排序,参数是一个函数,会改变原数组
返回值是原数组
函数参数:a-b:升序 b-a:降序

var arr =[1,45,77,8,9,55,354];
arr.sort(function(a,b) {
return a - b;
));
console. log(arr)

arr.sort(functio(a,b){
return b-a;
})
console.log(arr);

reverse( ) 用于将数组的顺序颠倒,会影响原数组
返回值是原数组

 var arr  =["a1","b1","c1", "d1"];
 var arrl = arr.reverse();
 console.log(arr); //["d1", "c1", "b1", "a1"]
 console.log(arrl); //["d1", "c1", "b1", "a1"]

slice( ) 用于数组的截取,不改变原数组
返回值是新数组

        参数:
        两个参数:第一个参数表示截取开始的位置(包含),第二个参数表示截取结束的位置(不包含)
        一个参数:表示从该位置开始截取,截取到最后,可以是整数,也可以是负数
		ar arr=[1,2,3,4,5,6,7,8];
        var arr1=arr.slice(1,4);
        console. log(arr); //[1, 2, 3, 4, 5, 6, 7, 8]
        console. log(arr1); //[2, 3, 4]

splice( ) 用于数组的操作
参数:
第一个参数表示删除的位置
第二个参数表示几个
第三个参数以及后面的每一个参数 表示从删除的位置插入

		//增加
		 var arr=[1,2,3,4,5,6];
        arr.splice(4, 0, 666) 
        console. log(arr); //[1, 2, 3, 4, 666, 5, 6]
        //删除
         var arr=[1,2,3,4,5,6];
        arr .splice(1, 4);
        console. log(arr); // [1,5, 6]
        //修改
        var arr=[1,2,3,4,5,6];
        arr .splice(2, 3, 666,777,888,999)
        console. log(arr); [1, 2, 666, 777, 888, 999, 6]

indexOf( ) 用于数组成员的精确查找

  var arr=[1,2,3,4,5,6];
	var idx = arr. indexOf(4);
	console. log(idx); // 3
	var idx1 = arr. indexOf(7);
	console. log(idx1); // -1

join( ) 用于将数组的成员以规定的字符串拼接

		var arr=[1,2,3,4,5,6];
        var str = arr.join(); //如果没有参数默认使用,
        console.log(str); //1,2,3,4,5,6
        var arr1=[1,2,3,4,5,6,[1,2,3,4]];
        var str1 = arr1.join("-"); //自定义参数
        console. log(str1); //1-2-3-4-5-6-1,2,3,4

toString( )

  var arr = [1,2,3,4,5,6];
        console. log(arr.toString()); //1,2,3,4,5,6
        var num = 10;
        console.log(num.toString()); //(字符串)10
        var bool = true; 
        console. log(bool, bool.toString()) //true "true"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值