JavaScript数组对象(数组去重、筛选数组、数组翻转、数组添加删除元素、检测是否数组、创建数组、获取数组元素索引)

1、数组去重['c','a','z','a','x','a','x','c','b']要求去除数组中重复的元素。

<script>
        //1、目标:把旧数组里面不重复的元素选取出来放到新数组中去,重复的元素只保留一个,放到新数            组中去重。
        //2、核心算法:我们遍历旧数组,然后拿着旧数组去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则不添加。
        //3、我们怎么知道该元素没有存在?利用新数组.indexOf(数组元素)如果返回值是-1就说明,新数组里面没有该元素
        //封装一个去重的函数
        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(['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b']);
        console.log(demo);
</script>

2、有一个包含工资的数组[1500,1200,2000,2100,1800],要求把工资超过2000的删除,剩余的放到新数组里面。

<script>
        var arr = [1500, 1200, 2000, 2100, 1800];
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] < 2000) {
                // newArr[newArr.length] = arr[i];
                newArr.push(arr[i]);
            }
        }
        console.log(newArr);
</script>

3、翻转数组。

var arr = ['pink', 'red', 'blue'];
arr.reverse();
console.log(arr);

4、数组添加删除元素。

 <script>
        //添加删除数组元素方法
        //1、push() 在我们数组末尾 添加一个或者多个数组元素 push推
        var arr = [1, 2, 3];
        // arr.push(4, 'pink');
        console.log(arr);
        console.log(arr.push(4, 'pink'));
        //(1)push 是可以给数组追加新的元素
        //(2)push() 参数直接写数组元素就可以了
        //(3)push完毕之后,返回的结果是新数组的长度
        //(4)原数组也会发生变化


        //2、unshift 在我们数组的开头,添加一个或者多个数组元素
        arr.unshift('red');
        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>

5、检测是否数组。

<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); //返回true
        console.log(obj instanceof Array); //返回false
        //(2)Array.isArray(参数); H5新增方法 ie9以上版本才支持
        console.log(Array.isArray(arr)); //true
        console.log(Array.isArray(obj)); //false
</script>

6、创建数组。

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

7、获取数组元素索引。

 <script>
        //返回数组元素索引方法 indexOf(数组元素) 作用就是返回该数组元素的索引号 从前面开始查找
        //它只返回第一个满足条件的索引号
        //它如果在该数组里面找不到元素,则返回-1
        // var arr = ['red', 'green', 'blue', 'pink', 'blue'];
        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>
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super码力

么么哒,夏天来块儿冰西瓜!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值