JS数组基本语法以及简单的增删改查操作

数组

定义:一组数据的集合,其表现形式就是内存中的一段连续的内存地址。
可以批量存储数据(上限:232-1)
特点:有下标 有长度 按照一定的结构顺序存储,便于查询。

<script>
    var a =  [18,"xy",,];//length = 3;
    var arr =  [18,"xy",,19];//length = 4; 稀疏数组
    var arr1 =  [18,"xy",];//length = 2;
    var arr2 = [];
    arr2[0] = 'xy';
    console.log(arr1);//[18,"xy"]
    console.log(arr2[5]);//undefined
</script>

length属性 ⇒ 可写
indexOf ⇒ 下标 判断是否存在此数据
面试题: 数组去重+排序 indexOf() ⇒ 查到返回下标,否则返回-1

数组声明的方式:

<script>
    //1
    var arr1=["xy",1,23,34,12];
    arr[0] = 18;
    console.log(arr);//18
    console.log(length,arr.length,arr[arr.length-1],arr[arr.length]);//0,5,12,undefined

    //2、关键字
    var arr2 = Array(2)//声明数组的空间个数
    //在JS中的内置对象 首字母是大写
    arr2[0] = 3;
    console.log(arr2);//3

    //3、
    var arr3 = new Array();//不建议使用此方式
    //声明并赋值?
    var arr4 = Array([12,13,14]);//二维数组
    var arr5 = Array(12,13,14);//当只写一个数字的时候,默认为空间个数;当传入多个数值时,意为给数组填入元素
    console.log(arr4[0]);//12,13,14
    //arr4 = arr6;
    var arr6 = [[12,13,14],13]//二维数组
    //indexOf(放数组的元素(值)) ⇒ 返回的是索引,或-1
    console.log(arr6.indexOf(1));//返回-1
    console.log(arr6.indexOf(13));//返回1(13的下标)
    console.log(arr6.indexOf(arr6[0]));//返回0

    var arr7 = [[12],[13],[14]];//二维
    console.log(arr[0][0]);//12
    console.log(arr[0,1]);//1会覆盖前面的数,只识别最后一位,和arr[1]作用相同;
    var arr8 =  [[[12]],[13],14];   
</script>
<script>
    var arr = [12,13,14];
    var arr1 = arr;//引用类型 赋的是地址,同时指向内容,修改一个会影响另一个
    arr.length = 1;
    console.log(arr1[1],arr[1]);//undefined  undefined
</script>

API 数组对象封装好的方法
数组:大的存储空间 增删改查
push()、pop()、shift()、unshift() 两端增删 会改变原数组
slice() 指定位置的截取
splice() 指定位置 增 删 改
join() 连接
concat() 拼接
sort()、reverse() 排序

<script>
    //复制数组
    var arr = [12,13,14];
    var test = [];
    test = arr.slice();
    //test = arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3,左闭右开
    //test = arr.slice(1);//13,14
    //test = arr.slice(2);//14
    console.log(test);
</script>
<script>
    //数组的增删改查操作
    var arr = [0,1,2,3,4,5,6,7,8,9];
    var arr1 = ["str","st"];
    console.log(arr1.sort());//["st", "str"]

    //测的所有语句独立执行,不互相影响(即每次单独执行一句)   
    //增
    //arr.push();//不变
    //arr.push('');
    //arr.push(' ');
    //arr.push(10,11,12,13);//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
    //arr.unshift(-2,-1,0);//[-2, -1, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    //var a = arr.concat([10,11,12]);//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    //arr.splice(0,0,"he");// ["he", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    //删
    //arr.pop().pop().pop();
    //arr.pop();//[0, 1, 2, 3, 4, 5, 6, 7, 8]
    //arr.shift();//[1, 2, 3, 4, 5, 6, 7, 8, 9]
    //var a = arr.slice(3,6);//[3, 4, 5]
    //arr.splice(3,3);//3,4,5被裁剪[0, 1, 2, 6, 7, 8, 9]

    //改
    //arr.splice(3,1,33);//[0, 1, 2, 33, 4, 5, 6, 7, 8, 9]  

    console.log(arr);
</script>

添加 返回的是数组的长度
删除 返回的是删除的内容

猜你喜欢

转载自blog.csdn.net/ssssssssolo/article/details/81737233