实现数组的方法

1.concat 用于拼接数组。

<!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>
        let arr1 = [11, 22, 33]
        let arr2 = [44, 55, 66]
        function concat(a1, a2) {
            let a3 = []
            //循环第一个数组
            for (let i = 0; i < a1.length; i++) {
                //将第一个数组中的数据,添加给a3
                a3[i] = a1[i]
            }
            //循环第二个数组
            for (let i = 0; i < a2.length; i++) {
                //注意:数组的最后一个下标是length-1
                //如果length不减1,就是最后一个位置的下一个位置。
                a3[a3.length] = a2[i]
            }
            return a3
        }
        let arr3 = concat(arr1, arr2)
        console.log(arr3);
    </script>
</body>

</html>

2.fill 将数组中的每一位元素的值,替换成固定的值。

<!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>
        let arr1 = [11, 22, 33]
        function fill(arr, val) {
            //循环数组,将数组中的每一位元素的值,替换成固定的值
            for (let i = 0; i < arr.length; i++) {
                arr[i] = val
            }
        }
        console.log(arr1);
        fill(arr1, '呵呵')
        console.log(arr1);
    </script>
</body>

</html>

3.includes 判断数组中是否存在指定的数。

<!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>
        let arr1 = [11, 22, 55, 33, 44, 55, 66, 77, 88]
        function includes(arr, val) {
            //循环数组
            for (let i = 0; i < arr.length; i++) {
                //判断数组中是否存在指定的数
                if (arr[i] === val) {
                    // return关键字在返回值的同时,也就跳出了整个方法
                    return true
                }
            }
            return false
        }
        console.log(includes(arr1, 55));
        console.log(includes(arr1, 555));
    </script>
</body>

</html>

4.indexOf  判断数组中是否存在指定的数,有返回下标,没有返回-1.

<!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>
        let arr1 = [11, 22, 55, 33, 44, 55, 66, 77, 88]
        function indexOf(arr, val) {
            //循环数组
            for (let i = 0; i < arr.length; i++) {
                //判断数组中是否存在指定的数
                if (arr[i] === val) {
                    // return关键字在返回值的同时,也就跳出了整个方法
                    return i
                }
            }
            return -1
        }
        console.log(indexOf(arr1, 55));
        console.log(indexOf(arr1, 555));
    </script>
</body>

</html>

5.lastIndexOf 从后往前查询是否存在指定的数。

<!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>
        let arr1 = [11, 22, 55, 33, 44, 55, 66, 77, 88]
        function lastIndexOf(arr, val) {
            // 反过来循环数组
            for(let i=arr.length-1;i>=0;i--){
                if(arr[i]===val){
                    return i
                }
            }
            return -1
        }
        console.log(lastIndexOf(arr1, 55));
        console.log(lastIndexOf(arr1, 555));
    </script>
</body>

</html>

6.join 用于以指定分隔符拼接。

<!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>
         let arr1 = ['空调','冰箱','洗衣机','微波炉']
        // 注意:方法的形参,可以定义默认值
        function join(arr,split=','){
            let str = ''//定义一个字符串,用于返回结果
            for(let i=0;i<arr.length;i++){
                str += arr[i]
                //判断何时拼接分隔符
                if(i<arr.length-1){
                    str += split
                }
            }
            return str
        }
        console.log(join(arr1,'--'));
        console.log(join(arr1,''));
        console.log(join(arr1));
    </script>
</body>

</html>

7.push 在数组的最后加一位,添加新的数据。

<!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>
         let arr1 = [11,22,33,44,55]
        function push(arr,val){
            // 在数组的最后加一位,添加新的数据
            arr[arr.length] = val
        }
        push(arr1,66)
        console.log(arr1);
    </script>
</body>

</html>

8.pop 删除最后一个元素。

<!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>
         let arr1 = [11,22,33,44,55]
         function pop(arr){
            //获取最后一位元素
            let val = arr[arr.length-1]
            //数组的长度-1,就是删除最后一个空间
            arr.length = arr.length-1
            return val
        }
        let n1 = pop(arr1)
        // 删除后的数组
        console.log(arr1);
        // 删除的元素
        console.log(n1);
    </script>
</body>

</html>

9.unshift 在数组的第一个位置上添加一个新的元素。

<!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>
         let arr1 = [11,22,33,44,55]
         function unshift(arr,val){
            // 从后往前循环整个数组
            for(let i=arr.length;i>0;i--){
                // 数组中的每一位数往后挪一位
                arr[i] = arr[i-1]
            }
            // 再从新设置第一位数
            arr[0] = val
        }
        unshift(arr1,66)
        console.log(arr1);
    </script>
</body>

</html>

10.shift 删除数组中第一个元素。

<!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>
         let arr1 = [11,22,33,44,55]
         function shift(arr){
            let val = arr[0]  //获取数组中的第一位数
            // 循环数组,后面数往前挪
            for(let i=0;i<arr.length-1;i++){
                arr[i] = arr[i+1]
            }
            // 再删除最后一个
            arr.length = arr.length-1
            return val
        }
        let n2 = shift(arr1)
        console.log(arr1);
        console.log(n2);
    </script>
</body>

</html>

11.reverse 用于前后的值进行互换。

<!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>
         let arr1 = ['a','b','c','d','e','f','g']
        function reverse(arr){
            for(let i=0;i<parseInt(arr.length/2);i++){
                // 数组中,前后的值进行互换
                let temp = arr[i]
                arr[i] = arr[arr.length-1-i]
                arr[arr.length-1-i] = temp
            }
        }
        reverse(arr1)
        console.log(arr1);
    </script>
</body>

</html>

12.slice 用于截取数组中的值,传两个参数,开始位置和结束位置。取值是开始位置到结束位置-1

<!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>
         let arr1 = ['a','b','c','d','e','f','g']
         function slice(arr,start,end){
            //定义返回的数组
            let arr2 = []
            // 在for循环中,循环变量可以定义多个
            for(let i=start,j=0;i<end;i++,j++){
                // 将arr数组中,执行区间里面的数据,添加到arr2中
                arr2[j] = arr[i]
            }
            return arr2
        }
        let arr3 = slice(arr1,2,5)
        console.log(arr3);
    </script>
</body>

</html>

13.splice 删除一段数组中的数值,传两个参数,开始位置和截取的长度。

<!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>
        let arr1 = ['a','b','c','d','e','f','g','h','i','j','k']
        function splice(arr,start,len){
            // 定义返回的数组
            let arr2 = []
            // 循环删除的部分
            for(let i=start,j=0;i<arr.length;i++,j++){
                //先将删除的部分,添加到新的数组中
                if(i<start+len){
                    arr2[j] = arr[i]
                }
                // 将删除部分后面的元素往前挪
                arr[i] = arr[i+len]
            }
            //去掉后面重复的部分
            arr.length = arr.length-len
            return arr2
        }
        console.log(arr1);
        let arr3 = splice(arr1,2,3)
        console.log(arr1);
        console.log(arr3);
    </script>
</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值