龙空技术网

5.数组对象

黑马金牌编程 40

前言:

现在同学们对“对象数组怎么定义”都比较看重,看官们都需要知道一些“对象数组怎么定义”的相关资讯。那么小编同时在网上收集了一些有关“对象数组怎么定义””的相关文章,希望各位老铁们能喜欢,兄弟们快快来了解一下吧!

5.数组对象

5.1数组对象的创建

创建数组对象的两种方式

字面量方式new Array()

<script>        //创建数组的两种方式        //1. 利用数组字面量        var arr = [1,2,3];        console.log(arr[0]);        //2.利用new Array()        //var arr1 = new Array();   //创建了一个空数组        //var arr1 = new Array(2);  //这个2表示 数组的 长度为2 里面有两个空数组        var arr1 = new Array(2,3);  //等价于[2,3]   这样写表示  里面有2个数组元素 是2和3        console.log(arr1);    </script>

5.2检测是否为数组

(1)instanceof 运算符 他可以用来检测是否为数组

(2)Array.isArray(参数);H5新增的方法 ie9以上版本支持

<script>        //翻转数组        function reverse(arr){            if (arr instanceof Array){                var newArr = [];                for(var i = arr.length - 1; i>=0; i--){                newArr[newArr.length] = arr[i];                }                return newArr;            }else{                 return 'error 这个参数要求必须是数组格式[1,2,3]'            }        }        console.log(reverse([1,2,3]));        console.log(reverse(1,2,3));        //检测是否为数组        //(1)instanceof 运算符 他可以用来检测是否为数组        var arr = [];        var obj = {};        console.log(arr instanceof Array);        console.log(obj instanceof Array);        //(2)Array.isArray(参数);H5新增的方法 ie9以上版本支持        console.log(Array.isArray(arr));        console.log(Array.isArray(obj));    </script>

5.3添加删除数组元素的方法

<script>        var arr = [1,2,3];        // (1) push是可以给数组后面追加新的元素        //arr.push(4, 'pink');        console.log(arr.push(4, 'pink'));        console.log(arr);        // (1) push是可以给数组后面追加新的元素        // (2) push() 参数直接写数组元素就可以了        // (3) push完毕之后,返回的结果是新数组的长度        // (4) 原数组也会发生变化        // 2. unshift 在我们数组的开头添加一个或者多个数组元素        console.log(arr.unshift('red','purple'));        console.log(arr);        // (1) unshift是 可以给数组前面追加新的元素        // (2) unshift() 参数直接写数组元素就可以了        // (3) unshift完毕之后,返回的结果是新数组的长度        // (4)原数组也会发生变化        //3. pop() 他可以删除数组的最后一个元素        console.log(arr.pop());        console.log(arr);        // (1) pop是 可以删除数组的最后一个元素 记住一次只能删除一个元素        // (2) pop() 没有参数        // (3) pop完毕之后,返回的结果是 删除的那个元素        // (4)原数组也会发生变化         //4. shift() 他可以删除数组的第一个元素         console.log(arr.shift());         console.log(arr);        // (1) shift是 可以删除数组的第一个元素 记住一次只能删除一个元素        // (2) shift() 没有参数        // (3) shift完毕之后,返回的结果是 删除的那个元素        // (4)原数组也会发生变化            </script>

筛选数组中的元素

<script>        //有一个包含工资的数组[1500,1200,2000,2100 ,1800],        // 要求把数组中工资超过2000的删除,剩余的放到新数组里面        var arr = [1500,1200,2000,2100,1800,1530];        var newArr = [];        for(var i =0; i < arr.length; i++){            if(arr[i] < 2000){                newArr.unshift(arr[i]);            }        }        console.log(newArr);    </script>

5.4数组排序

 <script>        //数组排序        //1.翻转数组        var arr = ['pink','red','blue'];        arr.reverse();        console.log(arr);        //2.数组排序(冒泡排序)        var arr1 = [12,13,4,7,1];        arr1.sort(function(a,b){            return a - b; //升序的顺序排列            // return b - a; //降序的顺序排列        });        console.log(arr1);    </script>

5.5数组索引方法

    <script>        // 返回数组元素索引号方法indexOf( 数组元素)作用         // 就是返回该数组元素的索引号 从前面开始查找        // 它只返回第一个满足条件的索引号        // 它如果在该数组里面找不到元素,则返回的是-1        var arr = ['red','green','pink'];        console.log(arr.indexOf('blue'));        // 返回数组元素索引号方法lastIndexOf( 数组元素)作用         // 就是返回该数组元素的索引号 从后面开始查找        var arr = ['red','green','blue','pink','blue'];                console.log(arr.lastIndexOf('blue'));   //4    </script>

数组去重案例(重点)

案例分析:

目标:把旧数组里面不重复的元素选取出来放到新数组中,重复的元素只保留-个,放到新数组中去重。核心算法:我们遍历旧数组,然后拿着I8数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则不添加。我们怎么知道该元素没有存在?利用新数组.indexOf(数组元素)如果返回时-1就说明新数组里面没有改元素

<script>        // 封装一个 去重的函数 unique 独一无二的        function unique(arr){            var newArr = [];            for(var i =0; i<arr.length; i++){                if(newArr.indexOf(arr[i])===-1){                    newArr.push(arr[i]);                }            }            return newArr;        }        var demo = unique(['blue','geen','blue'])        console.log(demo);    </script>

5.6数组转化为字符串

 <script>        //数组转换为字符串        // 1.toString() 将我们的数组转换为字符串        var arr = [1,2,3];        console.log(arr.toString());    //1,2,3        //2.join(分隔符)        var arr1=['gren','gyq','pink'];        console.log(arr1.join());   //green,blue,pink        console.log(arr1.join('-'));   //green-blue-pink        console.log(arr1.join('&'));   //green&blue&pink    </script>

标签: #对象数组怎么定义 #对象数组和普通数组 #对象和数组的区别和联系