JS基础的数组

数组:数组是使用单独的变量名来存储一系列的值。

定义方式
一维数组
空数组
 

  var a = new Array();
  var b = [];
  var c = new Array(数组的长度);

  注意:
var arr1 = [3];      // arr1.length == 1,   arr1[0] == 3
var arr2 = new Array(3);          // arr2.length == 3,   arr2[0] == undefined 

  有数值的数组

 var a = new Array("1","2");
  var b = [1,2];

往数组里面添加元素

var  arr = [];
     arr.push(3,4,5);
    alert(arr[1]);

效果如下:

通过下标,逐个添加,或者循环添加

arrt[1]=0;
arrt[2]=2;

遍历数组:

for循环:

    var aa = new Array("1","2","3");
    for(var i = 0;i<aa.length;i++){
       document.write(aa[i]);
    }

效果如下:

for in循环:

    var aa = {first:"zhangsan",second:"lisi","bb":"wangwu"};
    for(var b in aa){
         document.write(b);      //b相当于下标
    }
document.write("</br>");
var bb = new Array("a","b","c"); for(var i in bb){ document.write(bb[i]); //bb[i]是元素值 }

效果如下:

对数组的内置操作函数:

1.在数组末尾添加数据

var attr =[ 1,2,3];
attr.push(4);
console.log(attr);

效果如下:

2.在数组开头添加数据

var attr =[ 1,2,3];
 attr.unshift(4);
 console.log(attr);

 

效果如下:

3.删除数组最末尾的数;

var attr =[ 1,4,2,3];
 attr.pop();                         
 console.log(attr);              
var attr =[ 1,4,2,3];
 attr.pop(4);                   里面的数字不影响结果            
 console.log(attr); 

删除数组开头的数据:

var attr =[ 1,4,2,3];
 attr.shift();
 console.log(attr);
var attr =[ 1,4,2,3];
 attr.shift(2);             里面的数字不影响结果
 console.log(attr);

 

 

数组转字符串:

var attr =[ 1,4,2,3];
attr.join('+');
 console.log(attr);           这是错的 !!!!!!!!

var attr =[ 1,4,2,3];
var str= attr.join('+');
 console.log(str);

 反转排序:

var attr =[ 1,4,2,3];
 attr.reverse();
 console.log(attr);

数组排序:

var attr =[ 1,4,2,3];
 attr.sort();
 console.log(attr);

连接数组:

     var arr1=[1,2,3];
    var arr2=[4,5,6];
    var arr3=[7,8,9];
    var arr=arr1.concat(arr2,arr3,[10,11]);           可以是 [10,11] 形式,
    console.log(arr);

选择数组:slice:

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.slice(2);            从下标为2开始截取一直到末尾;
   console.log(attr1);

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.slice(2,5);        从下标为2开始截取到下标为5的位置, 但是选取不到下标为5的位置
   console.log(attr1);

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.slice(-3);               符号表示从最后一位开始截取到倒数第三位的位置(假设右数为第一位、第一位、。。。。)
   console.log(attr1);

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.slice(-3,7);                  右数第三位与下标为7的中间部分,但是取不到下标为7的位置;
   console.log(attr1);

 

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.slice(3,-3);                   下标为3的位置到右数第三位中间的数据

 

选取数组:splice

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.splice(1,2);        第一个参数为下标为1的位置 第二个参数为长度; 在原来数组删除;
   console.log(attr,attr1);

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.splice(1,2,100);                  第三个参数为删除删除位置添加的数据;
   console.log(attr);

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.indexOf(4);           第一个元素“4”出现时的下标;
   console.log(attr1);

var attr =[ 1,4,2,3,6,4,4,3];
var attr1 = attr.indexOf(3,4);                 第二个参数为开始的下标从下标为4的位置找到第一个出现“3”时的下标
   console.log(attr1);

 

var attr =[1,4,2,3,6,4,4,3];
var attr1 = attr.indexOf(6,3);    //输出为4;   (2,3)  输出为-1 (5,3)  输出为-1;  (4,5)  包含第五位
   console.log(attr1);
var attr =[1,4,2,3,6,4,4,3];
var attr1 = attr.lastIndexOf(4);     从最后一位开始找第一次出现“4”时的下标      
   console.log(attr1);

 

var attr =[1,4,2,3,6,4,4,3];
var attr1 = attr.lastIndexOf(4,5);     从下标为5往前开始找第一次出现“4”时的下标       
   console.log(attr1);

 


     

posted on 2018-08-20 16:42  孙崇武  阅读(273)  评论(0编辑  收藏  举报

导航