ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS-数组

2022-03-04 19:02:05  阅读:163  来源: 互联网

标签:arr console log JS let 数组 array hd


数组是引用类型,体现在:当我们定义一个数组,typeof array时,输出的是object

还有一个例子:

<script>
    let array = [1,2,3,4];

    let hd = array;
    hd[1] = 9;
    console.log(hd);
    console.log(array);
</script>

hd和array输出的都是[1,9,3,4];

----------------------------------------------------------------------

插着说一下const常量和引用的关系:

const定义的量是常量,是没法改的,注意:这个没法改,指的是内存地址没法改,不是内存地址对应的值没法改。

什么意思呢,const  a = 1; a = 3;这样会报错;因为当执行a =3 时,系统在内存开辟了一个新的地址存放3,然后把3的地址赋给a,但是a是const定义的常量,a一直要对应1这个内存地址,所以报错。

用数字类型可能有点无法理解,如果用字符串类型就很好理解。

接着说一下数组,数组也是引用关系,例如这样:const array = [1,2,3];array[1] = 100;这样不会报错;

因为我们改变的是这个地址里面的值,而不是改变地址。

---------------------------------------------------------------------

数组创建的细节问题:

<script>
    let array = [1,2,3,4];

    //查看数组的数量
    console.log(array.length);

    //下面这种,是创建了一个数组,数组有3个值,
    //每一个都是undefined
    let arr = new Array(3);
    console.log(arr.length);
    console.log(arr);

    //针对上面的解决办法:
    //一个数组,数组里面只有1个值,是3
    let a = Array.of(3);
    console.log(a.length);
    console.log(a);
</script>

数组和字符串之间的转换:

<script>
    let array = [1,2,3,4];

    //检测传入的是否是数组
    console.log(Array.isArray(array));  //true
    console.log(Array.isArray({}));     //false

    //把数组转为字符串
    console.log(array.toString());
    
    let hd = array.join("!");   //用感叹号连接
    console.log(hd);

    //把字符串转换为数组
    console.log(hd.split("!"));//按感叹号 
    //有.length属性的都可以用from来转为数组
    console.log(Array.from(hd));
</script>

展开语法(...arr,...?,...):

<script>
    let arr = [1,2,3];
    let hd = [4,5];

    //展开语法
    //把hd追加到arr后面
    arr = [...arr,...hd];
    console.log(arr);
</script>

增加元素的多种操作:

<script>
    let arr = [0,1,2];

    //方法1
    arr[3] = 3;
    console.log(arr);

    //方法1进阶版
    arr[arr.length] = 4;
    console.log(arr);

    //方法2 展开语法...arr
    let hd = [5,6,7];
    arr = [...arr,...hd];
    console.log(arr);

    //方法3 推荐 push
    arr.push(8,9,10);
    console.log(arr);

    //方法2和3的结合
    arr.push(...hd);
    console.log(arr);
</script>

数组出栈入栈操作:

<script>
    let arr = [0,1,2,3];

    //从前面弹出一个值
    arr.shift();
    console.log(arr);

    //从前面加入
    arr.unshift(0);
    console.log(arr);

    //从后面弹出
    arr.pop();
    console.log(arr);

    //从后面假如
    arr.push(3);
    console.log(arr);
</script>

 数组排序:

<script>
    let arr = [0,5,8,1,2,3,6];

    arr = arr.sort(function(a,b){
        //b-a 从大到小      a-b 从小到大
        return a-b;
    })
    console.log(arr);
</script>

 

标签:arr,console,log,JS,let,数组,array,hd
来源: https://www.cnblogs.com/KeithTee/p/15965725.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有