js 数组

js 数组

  • 数组的创建
  • [1] 字面量创建
 var array=[]; //空数组
 var array1=[1,2,3,4] //1,2,3,4

数组元素之间用逗号隔开

  • [2] 构造函数创建
var arr=new Array();//空数组
var arr1=new Array(1,2,3,4);//数组元素为1,2,3,4
var arr2=new Array(10);//数组长度为10的空数组
  • 数组的遍历
  • [1] 显示单个数组元素
console.log(arr1[0]);//数组元素下标(索引)从0开始

显示单个数组元素的方式为 数组名[下标]
注意: 数组下标从0开始

  • [2] 数组元素遍历
var arr1= new Array(1,2,3,4);
    for(var i=0;i<arr1.length;i++){//arr1.length的返回值是数组arr1的长度 数组arr1的长度为4
        console.log(arr1[i]);
    }

数组遍历结果

数组名.length的返回值为当前数组名的数组长度也就是数组元素的个数
注意数组的下标是从0开始,但数组的长度是从1开始计算的 ,所以如果你想找到数组中的最后一个元素的话为数组名[数组名.length-1]
例如:

 var arr1= new Array(1,2,3,4);
    console.log(arr1[arr1.length-1]);

最后一个元素结果

  • 二维数组
  • [1] 二维数组的写法
var array1=[
         [1,2,3],
         [4,5,6],
         [7,8,9]
    ]

二维数组就是一维数组的每个元素也是一个数组,中间还是用逗号隔开

  • [2] 二维数组的遍历
    • [1] 二维数组的单个数组元素显示
 var array1=[
         [1,2,3],
         [4,5,6],
         [7,8,9]
    ]
    console.log(array1[0][0]);//1

单个显示

二位数组的单个元素显示与一维数组的显示差别不大,只是二维数组需要两个下标,两个坐标可以理解为一个是行坐标,一个是列坐标

  • [2] 二维数组的元素遍历
 var array1=[
         [1,2,3],
         [4,5,6],
         [7,8,9]
    ]
    for(var i=0;i<array1.length;i++){
        for(var j=0; j<array1[i].length;j++){
            console.log(array1[i][j]);
        }
    }

二维数组遍历结果

二维数组遍历需要两个for循环,二维数组可以理解为行和列 我们先找到一共几行,那么行怎么找呢,可以用数组名[数组名.length],那么列的长度就是数组名[行].length

  1. 数组方法
方法名作用
reverse对数组元素进行翻转操作

用法:数组名.reverse()

 var array1=[1,2,3,4,5,6]
    //索引   0 1 2 3 4 5
    array1.reverse();
    console.log(array1);

reverse的结果

reverse会改变原先的数组,不会生成新数组

方法名作用
concat将两个数组合并成一个新的数组

用法:数组名.concat() 参数可以是数组名也可以是[1,2,3,4]

var array1=[1,2,3,4,5,6]
   //索引   0 1 2 3 4 5
    var array2=[7,8,9,10]
    array1.concat(array2);//concat()括号里也可以加[1,2,13,15]
    console.log(array1);

错误示范

我们发现用了concat后数组没有变化,那么由此可以得出concat不能改变原数组所以我们对上面的代码进行修改

var array1=[1,2,3,4,5,6]
   //索引   0 1 2 3 4 5
    var array2=[7,8,9,10]
    var r=array1.concat(array2);//concat()括号里也可以加[1,2,13,15]
    console.log(r);

concat结果

方法名作用
push将元素添加到数组的最后面

用法:数组名.push(参数1,参数2,参数n)

var array1=[1,2,3,4,5,6]
   //索引   0 1 2 3 4 5
    console.log(array1);
    array1.push(7);
    console.log(array1);

push

方法名作用
pop将数组中的最后一个元素,从数组中删除

用法:数组名.pop()

var array1=[1,2,3,4,5,6]    
   //索引   0 1 2 3 4 5
    console.log(array1);
    array1.pop();    
    console.log(array1);

pop

方法名作用
unshift将元素添加到数组的最前方

用法:数组名.unshift(参数1,参数2,参数n)

var array1=[1,2,3,4,5,6]    
   //索引   0 1 2 3 4 5
    console.log(array1);
    array1.unshift(10,8,4,8);    
    console.log(array1);

unshift

注意:用unshift时如果同时添加多个,他们的顺序是不会倒序排列的

方法名作用
shift将数组中的第一个元素从数组中删除

用法:数组名.shift()

 var array1=[1,2,3,4,5,6]  
    //索引   0 1 2 3 4 5 
    console.log(array1);
    array1.shift();
    console.log(array1);

shift

方法名作用
join将数组里的元素转换成字符串,用参数指定的分隔符进行连接

用法:数组名.join(分隔符)

var array1=[1,2,3,4,5,6]
   //索引   0 1 2 3 4 5   
    console.log(array1);
    array1.join('+');
    console.log(array1);

join

我们发现用了join后输出结果没有改变,所以我们知道join不能改变原数组,所以,我们对代码进行修改

 var array1=[1,2,3,4,5,6]
    //索引   0 1 2 3 4 5
    console.log(array1);
    var r=array1.join('+');    
    console.log(r);

join

方法名作用
slice将数组元素从start截取到end位置

用法:数组名.slice(start,end)

 var array1=[1,2,3,4,5,6]    
    //索引   0 1 2 3 4 5
    console.log(array1);
    array1.slice(2,3);
    console.log(array1);

slice

我们发现用了slice后输出结果没有改变,所以我们知道slice不能改变原数组,所以,我们对代码进行修改

 var array1=[1,2,3,4,5,6]
    //索引   0 1 2 3 4 5
    console.log(array1);
    var r=array1.slice(2,3);    
    console.log(r);  

slice

slice(2,3)的意思是从索引为2的元素截取,截取到索引为3的元素为止,根据结果我们可以得出slice方法的截取,截取不到end位置的元素

var array1=[1,2,3,4,5,6]
    //下标  0 1 2 3 4 5  
    console.log(array1);
    var r=array1.slice(2);    
    console.log(r);

在这里插入图片描述

slice(2)的意思为从索引为2的元素开始截取,从结果我们可以看出如果没有end的时候它会一直向后截取,知道结束

var array1=[1,2,3,4,5,6]    
   //索引   0 1 2 3 4 5
    console.log(array1);
    var r=array1.slice(-3);    
    console.log(r);

在这里插入图片描述

slice(-3)的意思为从倒数第三个元素向后截取,注意这里用的不是索引它是从倒数第一个开始计算的

方法名作用
splice在数组的指定位置删除或插入元素

用法:数组名.splice(start,删除元素的个数,插入到start位置的元素1…n)

 var array1=[1,2,3,4,5,6]   
    //索引   0 1 2 3 4 5
    console.log(array1);
    array1.splice(2,3);
    console.log(array1);

splice

splice(2,3)的意思是从索引为2的元素删除,删除3个元素,根据结果我们可以得出splice方法的删除,是包括start位置的元素的

 var array1=[1,2,3,4,5,6]   
    //索引   0 1 2 3 4 5
    console.log(array1);
    array1.splice(2,0,7,8,9,10);    
    console.log(array1);

在这里插入图片描述

splice(2,0,7,8,9,10)的意思是从索引为2的元素插入,删除0个元素,插入7,8,9,10根据结果我们可以得出splice方法的插入,是包括start位置的元素的

方法名作用
indexOf查找元素在数组中的索引位置

用法:数组名.indexOf(要查找的元素,start)

var array1=[1,2,3,4,5,6]
   //索引   0 1 2 3 4 5
    console.log(array1);
    var t=array1.indexOf(3); //2
    var f=array1.indexOf(8);//-1
    console.log(t);
    console.log(f);

indexOf

indexOf(3)的意思是查找1在数组中的位置,然后返回索引值为2。如果找不到就返回-1 start 就是从什么位置开始查找

方法名作用
lastIndexOf从后向前找查找元素在数组中的索引位置

用法:数组名.lastIndexOf(要查找的元素,start)

var array1=[1,2,3,4,5,6]   
    console.log(array1);
    var t=array1.lastIndexOf(3); //2
    var f=array1.lastIndexOf(8);//-1  
    console.log(t);
    console.log(f);

在这里插入图片描述

lastIndexOf(3)的意思是查找3在数组中的位置不过他是从后往前查找的,然后返回索引值为2。如果找不到就返回-1 虽然lastIndexOf是从后往前查找,但是他的开始位置还是根据索引位置来定的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值