JS里的数组

如何创建数组
1.使用Array构造函数
语法:
new Array()
小括号()说明:
(1)预先知道数组要保存的项目数量
(2)向Array构造函数中传递数组应包括含的项

  • 数组怎么赋值
        var arr = new Array(2);//赋值一个参数  代表的是数组的长度
        console.log(arr);
        var arr1 = new Array(2, 3, 4);//多个值  代表直接赋值    长度自动
        console.log(arr1);
        var a = new Array();
        a[0] = 1;
        a[1] = 2;
        a[2] = "a";
        a[3] = function () {
            console.log("wo shi  han shu ");
            return 1;
        }
        a[4] = null;
        console.log(a); //function{   }
          //数组取值
        console.log(a[3]());  // 1
  • length 数组的长度
    语法: Array.length
    功能:获取数组array的长度
    返回值: number
    说明:
    1、通过设置length可以从数组的末尾移除项或向数组中添加新项。
    2、当把一个值放在超出当前数组大小的位置上时,数组就会重新计算其长度值,长度值等于最后一项的索引加1。

     /*console.log(arr.length);*/
    
  var arr=["a","b","c","d"];
   console.log(arr.length);  //4
    arr.length=2;
    arr[99]="z";
    console.log(arr.length);  //100
    //数组的遍历
    for(var i=0;i<arr.length;i++){
        console.log(arr[i]);
    }
  • 数组索引的值
  var cols=["red","yellow","green"];
  console.log(cols);
  var infos=[6,"marry",true]
  console.log(infos);
  console.log(cols[3]);    *///读取cols这个数组中索引为1的值:yellow

函数里面的方法
var k=new Array()
简写: var k=[ ];
数组的转化

  • join()

语法:
arrayObjectjoin(separator)
功能:
用于把数组中的所有元素放入一一个字符串。
返回值:字符串。

  • reverse()

语法:
stringObject.reverse()
功能:
用于颠倒数组中元素的顺序。
返回值:数组。

  • sort()

语法:
arrayObject.sort(sortby)
功能:
用于对数组的元素进行排序。
返回值:数组。
说明:
1、即使数组中的每一项都是数值,sort()方法比较的也是字符串
2.sort()方法可以接收一个比较函数作为参数

  • concat()

语法:
arrayObject.concat(arrayX,arrayX…arrayX)
功能:
用于连接两个或多个数组。
返回值:数组。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>concat和slice</title>
</head>
<body>
  <script>
      //concat()
      var arr1=["a","b", "c"],
          arr2=["d","e",2,3],
          arr3;
      arr3=arr1.concat(arr2);
      arr4=arr1.concat(arr2,["m",99]);
      console.log(arr3);
      console.log(arr4);
      //slice(start,end)
      var colors=["red","blue","pink","green","orange","yellow"];
      var newColors=colors.slice(1,3);   //截取出“blue”和“pink”
      /*(1)start和end是数组中的索引值。
        (2)截取start和end(不包含该元素)的元素,即为start到end-1的元素。*/
      console.log(newColors ); //blue,pink
      var newColors2=colors.slice(-3,4);  // 3
      console.log(newColors2 );


      //完成下列数组b对数组a的拷贝  ,方法越多越好
      var a=[1,"blue",6],
          b;
      //1.数组遍历
     /* b=new Array();
      for(var i=0;i<3;i++){
          b.push(a[i]);
      }*/
      //2.concat 连接法
      b=[].concat(a);
      //3.slice法()
      b=a.slice(0,3);

       console.log(b);
  </script>
</body>
</html>
  • slice()

语法:
arrayObject.slice(start,end)
功能:
从已有的数组中返回选定的元素。
参数:
start (必需)规定从何处开始选取,如果是负数,那么它规定从数组尾部开始算起的位置。
end (可选)规定从何处结束选取,该参数是数组片断结束处的数组下标。
slice()
说明:
1、如果没有指定end ,那么切分的数组包含从start到数组结束的所有元素。
2、如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。

(1) start和end是数组中的索引值。
(2) 截取start和end(不包含该元素)的元素,即为start到end-1的元素。
返回值:数组

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title> join reverse sort</title>
</head>
<body>
  <script>
      //join()    把数组中的所有元素放入一个字符串
      var nums=[2,4,6];
      var str=nums.join();
     /* console.log(str);
      console.log(typeof(str));*/
      var words=["border","left","color"];
      //border-left-color
      //var wordstr=words.join();   //默认逗号隔开  border,left,color
     // var wordstr=words.join("");   //字符间无间隔  borderleftcolor
      var wordstr=words.join("-");   //用 - 隔开
      console.log(wordstr);
     //reverse()    颠倒数组顺序
      console.log(nums.reverse());
      var strs=["a","b","c","d"];
      //返回dcba之歌字符串
      var newstr=strs.reverse().join("");
      console.log(newstr);
      //sort()    对数组的值排序
      var arr=[8,45,-3,66,12,98];
      //降序的排列
      arr.sort(function(a,b) {return b-a});
      //升序
      arr.sort(function(a,b) {return a-b});
      console.log(arr);
  </script>
</body>
</html>

splice三大用法
(1)删除
语法:
arrayObject.splice(index,count)
功能:
删除从index处开始的零个或多个元素。
返回值:
含有被删除的元素的数组。
说明:
count是要删除的项目数量,如果设置为0 ,则不会删除项目。如果不设置,则删除从index开始的所有值。
(2)插入
语法:
arrayObject.splice(index,0,item1,…, itemX)
功能:
在指定位置的前面插入值
参数:
Index:起始位置
0 :要删除的项数
item1…,itemX :要插入的项
返回值:数组
(3)替换
语法:
arrayObject.splice(index,0,item1…,itemX)
功能:
在指定位置插入值,且同时删除任意数量的项参数:
Index :起始位置
count:要删除的项数
item1…itemX :要插入的项
返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>splice</title>
</head>
<body>
<script>
    //删除splice(index,count)
    var arr=["a","b","c","d","e","f"];
   /* var delArr=arr.splice(2,2);  //删除从2 开始的两个元素  count为0 时不删除元素
    console.log(arr);  //a b e f
    console.log(delArr);  //c d*/
    //插入 splice(index,0,item1...itemX)
    /*var inputArr=arr.splice(2,0,"m","n",88);  //在“c”之前插入
    console.log(arr );
    console.log(inputArr );*/
    //替换 splice(index,0,item1.....,itemX)
    var replaceArr=arr.splice(1,2,"x","y","z");    //先删除b c ,再将他们替换为x y z
    console.log(arr );
    console.log(replaceArr);
</script>
</body>
</html>

indexOf()
查找:
indexOf()
语法:
arrayObject.indexOf(searchvalue,startIndex)
功能:
从数组的开头(位置0)开始向后查找。(如果检查的值有多个相同值时,检查第一个值得位置)
参数:
searchvalue :必需,要查找的项;
startIndex :可选,起点位置的索引。
返回值:
number查找的项在数组中的位置,没有找到的情况下返回-1
lastIndexOf()
语法:
arrayObject.lastIndexOf(searchvalue,startIndex)功能:
从数组的末尾开始向前查找。
参数:
searchvalue :必需,要查找的项;
startIndex :可选,起点位置的索引。
返回值:
number ,查找的项在数组中的位置,没有找到的情况下返回-1。

push()
语法:
arrayObject.push(newele1,newele2…,neweX)
功能:
把它的参数顺序添加到arrayObject的尾部。
返回值:
把指定的值添加到数组后的新长度。
unshift()
语法:
arrayObject.unshift(newele1,newele2…neweX)
功能:
把它的参数顺序添加到arrayObject的开头。
返回值:
把指定的值添加到数组后的新长度。
pop()
语法:
arrayObject.pop()
功能:
删除arrayObject的最后一个元素
返回值:
被删除的那个元素

shift()
语法:arrayObject.shift()
功能:
删除arrayObject中的第一个 元素
返回值:
被删除的那个元素

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>push unshift pop shift</title>
</head>
<body>
      <script>
          //push     //把参数添加到array的后面
          var colors=new Array("red","green");
          var len=colors.push("blue","yellow","blank");
          //console.log(colors);
        //  console.log(len);
          //unshift   //把参数添加到array的前面
          var nums=[2,7,8,9];
         //var size=nums.unshift(99,66);
          //console.log(nums);
          //pop   //删除数组中的最后一个数
          var n=nums.pop();
          console.log(n); //9
          //shift    //删除组中的第一个数
          var m=colors.shift();
          console.log(m);
          console.log(colors);
          //
      </script>
</body>
</html>

小总结:

        var k = [1, 2, 3, 4, 5];
        //join  是驻足转化为string  参数是按照什么符号拼接
        console.log(k.join("|"));
        //reverse  数组的翻转
        console.log(k.reverse());
        //slice 截断数组   参数  start   end  索引  取小不取大  截取完成之后对原数组没有影响
        console.log(k.slice(0, 2));
        console.log(k);
        //splice  参数  start   count   截取完成之后对原数组有影响
        console.log(k.splice(0, 3));
        console.log(k);
        //数组追加的方法
        //push数组内容之后追加  返回的值是数组的长度
        console.log(k.push(0));
        console.log(k);
        //unshift内容之前追加   返回值是数组的长度
        console.log(k.unshift(-1));
        console.log(k);
        //shift数组的删除  删除前面的   返回值是删除的值
        console.log(k.shift());
        console.log(k);
        //pop 删除是最后边的 返回值是删除的值
        console.log(k.pop());
        //sort 排序的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值