数组2 API :改变原始数组,不改变原始数组,ES5,ES6新增

改变原始数组

<script>
        /* 
            这几个方法的共同点:都是直接改变原始数组
                1.push()方法
                    语法:数组名.push(数据)
                    意思:向数组的末尾追加一条数据
                    返回值:追加了数据之后数组的长度
                2.pop()方法
                    语法:数组名.pop()
                    意思:删除数组末尾的一条数据
                    返回值:你删除的那条数据
                3.unshift()
                    语法:数组名.unshift(你要加的数据)
                    意思:从数组的开头添加一条数据
                    返回值:数组的长度
                4.shift()
                    语法:数组名.shift()
                    意思:从头删除一条数据
                    返回值:被删除的那个数据
                5.reverse()
                    语法:数组名.reverse()
                    意思:反转数组,将数组中的数据逆序
                    返回值:反转之后的数组
                6.sort()方法
                    语法1:数组名.sort()
                    意思:对数组中的数据进行排序(从小到大)
                    排序规则:一位一位数字阅读,比较。

                    语法2:数组名.sort(function(a,b){return a-b})
                        记住:a-b按照从小到大
                        记住:b-a按照从大到小
                7.splice()
                    语法1:数组名.splice(开始索引,个数)
                    意思:从数组中截取出一部分数据
                    返回值:你截取出来的数据,是一个新数组
                    注意:如果不写个数,那么就是从开始位置一直截取到左后
                    语法:数组名.splice(开始索引,个数,你要插入的新数据1,数据2,数据3,。。。。)
                    记住:从哪里开始截取,就从哪里开始插入
        */
</script>

不改变原始数组

<script>
        /*
            不改变原始数组:
                8.concat()
                    语法:数组名.concat(你要拼接的数据1,数据2。。。)
                    将数据拼接成一个新的数组。参与拼接的数据可以是具体的数值也可以是另外一个数组
                    返回值:拼接好之后的新数组。
                9.join()
                    语法:数组名.join(连接符)
                    作用:用连接符将数组中的数据连接成一个字符串
                    返回值:连接好的字符串
                    注意:不写连接符,默认是逗号连接
                10.slice()
                    语法:数组名.slice(开始位置,结束位置)
                    注意:
                        1.不包含结束位置
                        2.如果不写结束位置,会一直截取最后
                        3.如果开始和结束位置都不写,就是从头到尾全部截取,相当于进行了一次复制操作
                        4.位置也可以写负数,数组中的索引用负数表示的时候,需要从右到左看,最后一个数据是-1,
                11.indexOf()
                    语法:数组名.indexOf(数据)
                    作用:根据数据查找到该数据‘第一次’对应的索引。如果该数据不存在。那么就是-1
                    用这个方法可以验证一个数据到底在不在数组中,如果不再结果一定是-1

                    语法2:数组名.indexOf(数据,开始位置)
                    作用:从开始位置起找该数据第一次出现的索引
                    注意:包含开始位置
                12.lastIndexOf()
                    写法同上
                    区别:indexOf是从左到右找,lastIndexOf是从右到左找
        */
</script>

ES5新增,ES6新增

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
            1.forEach()语法
            语法:数组名.forEach(function(item,index,origin){})
            作用:遍历数组

            匿名函数中第一个参数:用来表示数组中的每一个数据,推荐起名item
            第二个参数用来表示数组的索引,推荐起名index
            第三个参数用来表示原数组,推荐起名origin
            注意:匿名函数中的三个参数不是必须要需要的.
        */
        // var arr = [100, 200, 300, 'hello', 400]

        // for (var i = 0; i < arr.length; i++) {
        //     console.log(arr[i]);
        // }
        // console.log('=====================');

        // arr.forEach(function (item) {
        //     console.log(item);
        // })

        /* 
           用for循环和forEach2种方式对数组中的数据 累加求和
        */
        // var arr = [100, 200, 300, 400, 500]
        // var sum = 0
        // // for (var i = 0; i < arr.length; i++) {
        // //     // i表示索引 arr[i]表示数组中的数据
        // //     sum += arr[i]
        // // }

        // arr.forEach(function(item){
        //     // item指的就是数组中每一个数据
        //     sum+=item
        // })
        // console.log(sum);

        /* 
            用for循环和forEach求所有的偶数和
        */
        // var arr = [1, 2, 3, 4, 5, 6]
        // var sum = 0
        // // for (var i = 0; i < arr.length; i++) {
        // //     if (arr[i] % 2 == 0) {
        // //         sum += arr[i]
        // //     }
        // // }
        // arr.forEach(function (item) {
        //     if (item % 2 == 0) {
        //         sum += item
        //     }
        // })
        // console.log(sum);


        /* 
            2.map()方法
            语法:数组名.map(function(item,index,origin){})
            作用:可以对数组中的数据进行加工处理,将加工处理的新的结果映射出一份新数组
            返回值:加工处理的新数组
            注意:加工的语句需要用return的形式书写


            利用map将数组中的每一个数组都增加10
            利用map将数组中的每一个数组都增加30%
        */
        // var arr = [100, 200, 300, 400]
        // var res = arr.map(function (item) {
        //     // item指的就是arr中的每一个数组
        //     // return item += 10
        //     return item += item * 0.3
        // })
        // console.log(arr);
        // console.log(res);

        /* 
            3.filter()方法
            语法:数组名.filter(function(item,index,origin){})
            作用:对数组中的数据进行过滤,筛选出符合条件的数据,并加入新数组中
            返回值:过滤好的新数组
            注意点:过滤条件用return形式书写.
        */
        // var arr = [1, 2, 3, 4, 5, 6]
        // var res = arr.filter(function (item) {
        //     // return item > 3
        //     // return item % 2 == 0
        //     return item % 2 != 0
        // })
        // console.log(arr);
        // console.log(res);

        /* 
            4.find()
             语法:数组名.find(function(item,index,origin){})
             作用:从原始数组中找符合条件的'第一项'数据
             返回值:符合条件的第一个数据,如果没有符合条件的就undefined
             注意点:查找条件写在return后面
         */
        // var arr = [1, 2, 3, 4, 5, 6]
        // var res = arr.find(function (item) {
        //     // return item > 3
        //     // return item % 2 == 0
        //     return item > 6
        // })
        // console.log(res);

        /* 
            5.findIndex()和find一样
            区别:find是找数据,findIndex是找符合条件的数据的索引
            找到符合条件的:就返回索引,找不见就是-1
        */
        // var arr = [1, 2, 3, 4, 5, 6]
        // var res = arr.findIndex(function (item) {
        //     // return item > 3
        //     // return item % 2 == 0
        //     return item > 6
        // })
        // console.log(res);

        /* 
            6.every
            语法:数组名.every(function(item,index,origin){})
            作用:判断数组内的数据是否每一个都是满足条件的
            返回值:一定是一个布尔类型,每一个都满足就是true,只要有一个不满足是false

            和&&的意思一样
        */
        // var arr = [1, 2, 3, 4, 5, 6]
        // var res = arr.every(function (item) {
        //     return item <= 6
        // })
        // console.log(res);

        /* 
            7.some()
             语法:数组名.some(function(item,index,origin){})
             作用:判断数组中是否有满足条件的
             返回值:只要有一个满足条件,结果就是true,所有都不满足,结果才是false
             类似于||的意思
        */
        // var arr = [1, 2, 3, 4, 5, 6]
        // var res = arr.some(function (item) {
        //     return item < 0
        // })
        // console.log(res);


        /* 
            8.reduce()
            语法:数组名.reduce(function(){},init)
            作用:将数组中所有数据进行累加的
            返回值:累加之后的结果
            reduce中传递2个参数
                第一个是匿名函数,函数函数参数的写法:可以写4个参数
                    第一个参数用来表示初始值,或者上一次的运算结果,prev
                    第二个参数用来表示数组中的每一个数据,item
                    第三个参数用来表示索引,index
                    第四个参数用来表示原始数组,origin
                第二个是初始值
                初始值可写可不写.
        */
        var arr = [1, 2, 3, 4, 5, 6]
        var res = arr.reduce(function (prev, item) {
            console.log("prev:"+prev+'item:'+item);
            return prev + item
        }, init)
        console.log(res);
    </script>
</body>

</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值