第三章 web前端开发工程师--JavaScript进阶程序设计 3-12 数组操作方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wgf5845201314/article/details/90765242

                                            JavaScript 数组操作方法

 

本节课所讲内容:

1. JavaScripts 数组创建

      2. JavaScript数组操作方法

主讲教师:Head老师

一. JavaScript数组创建

1.使用new关键字创建数组

var box = new Array();                                    //创建了一个数组

var box = new Array(10);                                //创建一个包含10个元素的数组

var box = new Array('曹老师','web','学神');              //创建一个数组并分配好了元素

2.以上三种方法,可以省略new关键字。

var box = Array();                                           //省略了new关键字

 

3.使用字面量方式创建数组

var box = [];                                                   //创建一个空的数组

var box = ['曹老师','web','学神'];                   //创建包含元素的数组

 

  4.使用索引下标来读取数组的值

alert(box[2]);                                                  //获取第三个元素

box[2] = '学生';                                               //修改第三个元素

box[4] = '计算机编程';                                      //增加第五个元素

 

  5.使用length属性获取数组元素量

alert(box.length)                                            //获取元素个数

box.length = 10;                                             //强制元素个数

box[box.length] = 'JS技术';                                   //通过length给数组增加一个元素

 

  6.创建一个稍微复杂一点的数组

var box = [   

           {  //第一个元素是一个对象

           name : '曹老师',

           age : 28,

           run : function () {

                return 'run了';

            }

          },

          ['马云','李彦宏',new Object()], //第二个元素是数组

          '江苏',                       //第三个元素是字符串

           25+25,                       //第四个元素是数值

          new Array(1,2,3)               //第五个元素是数组

];

alert(box);

    二、 JavaScript数组操作方法

(一)相关知识补充

1. splice 函数

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

语法

arrayObject.splice(index,howmany,item1,.....,itemX)
参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。

返回值

类型 描述
Array 包含被删除项目的新数组,如果有的话。

说明

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

2. unshift() 方法

Array 对象参考手册 JavaScript Array 对象

实例

将新项添加到数组起始位置:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");

fruits 将输出:

Lemon,Pineapple,Banana,Orange,Apple,Mango


尝试一下 »


定义和用法

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

注意: 该方法将改变数组的数目。

提示: 将新项添加到数组末尾,请使用 push() 方法。

var arr = [1,2,3];
alert(arr.push('abc'));   //弹出数组长度 4
alert(arr);   //1,2,3,abc
alert(arr.unshift(0));    ////弹出数组长度 5  
alert(arr);     //0,1,2,3,abc
        var arr = [1,2,3];
        alert(arr.push('abc'));   //弹出数组长度 4
        alert(arr);   //1,2,3,abc
        alert(arr.unshift(0));    ////弹出数组长度 5
        alert(arr);     //0,1,2,3,abc
  
        var arr = ['Head', 'teacher','school','study'];
        alert(arr.splice(0,0,'aaa'));  
        //添加  返回 空值 ,
        //arr内容为 :aaa,Head,teacher,school,study  
        alert(arr.splice(0,2,'bbb'));  
        // 替换  返回被删除的项目  ,aaa,Head,  
        // arr内容为:bbb,teacher,school,study
        alert(arr.splice(1,0,'前端学习','成为学神'));
        // 添加元素  返回 空值
        // arr  内容为: bbb,前端学习,成为学神,teacher,school,study
        alert(arr);   // 输出 aaa,Head,teacher,school study

数组去重

//数组去重
         var arr = [1,2,2,4,2];
         for(var i=0;i<arr.length;i++){
             for(var j=i+1 ;j<arr.length;j++){
                 if(arr[i]==arr[j]){
                     arr.splice(j,1);
                     j--;
                 }
             }
         }
         alert(arr);

数组排序:

sort  自带的排序方法,但是有问题

        //数组排序
         var arr=['c','d','a','b','e'];
         arr.sort();   //sort  排序  有bug
         alert(arr);   // a,b,c,d,e 
         var arr2 = [4,3,5,1,6,76,9,8];
         arr2.sort();    
         alert(arr2);   // 有问题: 1,3,4,5,6,76,8,9

正确的排序方法:

         var arr2 = [4,3,5,1,6,76,9,8];
         arr2.sort(function(a,b){
             return a-b;   //sort排序的时候 记得加入匹配
         });    
         alert(arr2);   // 1,3,4,5,6,8,9,76

随机数

         //随机数
         var arr = [1,2,3,4,5,6,7,8];
         arr.sort(function(a,b){
             return Math.random()-0.5;
         })
         alert(arr);   //随机排布   8,6,5,4,3,2,7,1

数组的连接

         //数组的链接
         var arr1 = [1,2,3];
         var arr2 = [4,5,6];
         var arr3 = [7,8,9];
         alert(arr1.concat(arr2,arr3));   // 1,2,3,4,5,6,7,8,9

 

猜你喜欢

转载自blog.csdn.net/wgf5845201314/article/details/90765242