简介 目录 评价 推荐
  • MrFangge 2022-04-07

    unshift可以在头部添加元素

    0赞 · 0采集
  • weixin_慕函数6407881 2021-03-04

    //上面记录的时候有点没有头脑,下面在记录的时候一定要分清楚先后的顺序,最好每个章节一起学习,并且要及时的复习

    undefined

    //这一章要学习数组,在JavaScript中的数组首先是一个“弱类型”的数组,就是说你可以在其中定义很多的东西,不一定非要是数字类型

    undefined

    var arr = [1,null,true,undefined,[1,1,2]];

    undefined

    //里面也可以定义对象,

    undefined

    //一、创建数组

    undefined

    //就像上面直接创建

    undefined

    var a = [,,];

    undefined

    //上面的方法不建议,创建了“两个”undefined,数组创建的长度是从0~2的23次方

    undefined

    //2、还可以用object的方法创建

    undefined

    var arr = new Array(100,false);//可以在里面直接加

    undefined

    arr

    (2) [100, false]

    delete arr[0]

    true

    //但是删除之后,长度是不变的,只是删除的地方变成了undefined

    undefined

    //push方法

    undefined

    var arr[];

    VM2648:1 Uncaught SyntaxError: Unexpected token '['

    var arr = [];

    undefined

    arr.[0] = 1

    VM2722:1 Uncaught SyntaxError: Unexpected token '['

    arr[0]= 1

    1

    arr.push(1)

    2

    //unshift方法

    undefined

    //unshift实在数组的头部添加元素

    undefined

    arr.unshift(1)

    3

    arr

    (3) [1, 1, 1]

    //in

    undefined

    //in方法可以判断数字是否在数组里面

    undefined

    1 in arr

    true

    //pop函数,删除掉尾部的元素,也可以用length-1的方法

    undefined

    arr.pop()

    1

    arr

    (2) [1, 1]

    //shift()函数是在头部删除元素

    undefined

    arr.shift

    ƒ shift() { [native code] }

    arr.shift()

    1

    arr

    [1]

    6162:1 Unchecked runtime.lastError: The message port closed before a response was received.

    //以上可以看出来数组是动态的

    undefined

    //数组的遍历:

    undefined

    //第一种方法就是for循环,这里重要的是forin循环,要注意的是数组也作为一个对象,其实里面的每个元素也可以理解为数组的属性,但是同时原型链上的属性也是作为一个数组的属性会被输出出来,这样的话就会产生一些问题

    undefined

    arr.prototype.x = 1

    VM4710:1 Uncaught TypeError: Cannot set property 'x' of undefined

        at <anonymous>:1:17

    (anonymous) @ VM4710:1

    Array.prototype.x = 1

    1

    Array.prototype.x = 'in'

    "in"

    for(i in arr){console.log(arr[i])}

    VM4960:1 1

    VM4960:1 in

    undefined

    //可以看到原型链上的属性也被输出出来了,而且要注意的是数组作为一个对象它的元素的名字就是相应的索引,而值就是里面的值

    undefined

    //当然可以用hasownproperty的方式判断

    undefined

    for(i in arr){if(arr.hasOwnProperty(i){console.log(arr[i]);})}

    VM5688:1 Uncaught SyntaxError: Unexpected token '{'

    for(i in arr){if(arr.hasOwnProperty(i)){console.log(arr[i]);}}

    0赞 · 0采集
  • 追风之神 2021-02-25

    数组操作:

    unshift:数组头部添加元素

    shift:数组头部去除元素

    push:数组尾部添加元素

    pop:数组尾部移除元素

    0赞 · 0采集
  • qiug 2020-09-02

    素组元素增删

    截图
    0赞 · 0采集
  • 李可意 2020-07-07

    数组元素增删

    截图
    0赞 · 0采集
  • weixin_慕尼黑1248007 2020-03-02

    字面量??

    1赞 · 0采集
  • qq_慕瓜5327221 2020-02-24

    用for...in时注意会连同数组的原型中的元素一起遍历。利用arr.hasOwnproperty(i)的方法过滤掉原型链上的属性。

    截图
    0赞 · 0采集
  • qq_慕瓜5327221 2020-02-24
    1. arr.unshift(0);在数组头部添加0元素。 

    2. delete arr[2]与arr[2]=undefined的区别

    3. arr.length-=1 与arr.pop()相同;删除最后一个元素

    4. arr.shift()头部删除元素

    截图
    0赞 · 0采集
  • GerhardzzZ 2019-09-23

    for in  会把原型的输出,且顺序不一定

    arr.hasOwnProperty() 判断是否是原型

    截图
    0赞 · 0采集
  • GerhardzzZ 2019-09-23

    数组

    前面添加 unshift(),

    delete arr[X];  长度不会变短

    删除最后的一个:

    1、arr.legth -=1  自减1,

    2、arr.pop()

    删除头部的一个:arr.shift()




    截图
    0赞 · 0采集
  • 慕勒8757584 2019-09-20

    数组也是对象,也有原型

    截图
    0赞 · 0采集
  • 慕勒8757584 2019-09-20

    数组元素的增删

    截图
    0赞 · 0采集
  • 慕勒8757584 2019-09-20

     数组元素读写

    截图
    0赞 · 0采集
  • 慕勒8757584 2019-09-20

    创建数组的方式

    截图
    0赞 · 0采集
  • 慕仙6065341 2019-09-07

    数组的添加push--->尾部添加,unshift--->头部添加

    http://img.mukewang.com/5d73c1880001d39223441244.jpg

    截图
    0赞 · 0采集
  • FarCryrr 2019-07-24

    arr.unshift(val);   在头部添加一个值

    arr.shift();  删除头部元素

    数组也是对象,它甚至可以用  arr.prop = val ; 来添加一个属性,在遍历这个数组时也可以遍历出这个prop。

    for in 这种遍历方式顺序是不固定的

    0赞 · 0采集
  • andyquan 2019-07-24

    删除尾部元素:arr.pop();

    删除头部元素:arr.shift();

    ps:delete arr[n]; 只是把下标为n的元素变为undefined,数组长度是没有变化

    截图
    0赞 · 0采集
  • andyquan 2019-07-24

    arr.push(n)和arr[arr.length]= n;

    是在数组的尾部添加元素n

    在头部添加数组元素n:arr.unshift(n);

    11 in arr ;是查找数组arr的下标为11的元素是否存在

    截图
    0赞 · 0采集
  • andyquan 2019-07-24

    array构造器有new和没有new都是等价的

    截图
    0赞 · 0采集
  • 慕雪9186590 2019-05-09

    数组迭代:for(var i=0;i<n;i++)

                    for(i in arr)//输出无顺序,原型链上的属性也可能会出现

                     而且如果arr.x=0;这个也会出现,虽然x不是数值索引。

    https://img.mukewang.com/5cd3c0d90001c03a09990601.jpg

    0赞 · 0采集
  • 慕雪9186590 2019-05-09

    数组的增删:动态的,无需指定大小

    push,pop

    unshift,shift

    var arr =[];

    arr[0] = 1;

    arr[1] = 2;

    arr.push(3);//在数组末尾增加一个元素

    arr;//[1,2,3]

    arr[arr.length] = 4;//等价于arr.push(4);

    arr;//[1,2,3,4]

    arr.unshift(0);//在数组开头增加一个元素

    arr;//{0,1,2,3,4]


    delete 方法见上一个笔记

    arr.length-=1;

    arr;//[0,1,2,3],4 is removed


    arr.pop();//3 returned by pop,在数组尾部删除元素

    arr;//[0,1,2],3 removed


    arr.shift();//0 returned by shift,在数组头部删除元素

    arr;//[1,2],0 is removed


    0赞 · 0采集
  • 慕雪9186590 2019-05-09

    数组元素的读写:var arr = [1,2,3];

                                arr[1];//2

                                arr.length;//3

                                arr[5]=7;

                               arr.length;//6

                               delete arr[0];

                               arr[0];//undefined

                            arr.length;//6因为delete只是把数组元素改为undefined

                           0 in arr;//false,delete之后索引在数组中不存在了,但还是会占一个位置

                              但是:arr[0]=undefined; 0 in arr;//true,与delete是不一样的


    0赞 · 0采集
  • 慕雪9186590 2019-05-09

    数组允许有一个多余的逗号:

    所以var commasArr2 = [,,];//理解为两个元素,即undefined,undefined

    上面的做法不提倡

    数组长度范围:from 0 to 2^23-1

    创建数组:字面量

                     用Array()构造器,new Array()相当于[]

                     Array()可以接受参数的,参数为一个数值型时,就是指定数组长度,若有多个参数,则这些参数会被解释为数组的元素

                       例:var arrWithLength=new Array(100);

                            var arrLikesLiteral = new Array(true,false,null,a,"hi");

                             等价于[true,false,null,a,"hi"]

                    注意new可以省略,即可以这样:var arr = Array();

                        

               

    0赞 · 0采集
  • 慕仰mooc 2019-04-22

    数组: 1、JS中的数组是弱类型的  数组中可以含有不同类型的元素 数组元素甚至可以是对象 或者其他数组; 2.创建   2.1 字面量 var arr = ['ds','aa']; 2.2 new  Array构造器 var arr = new Array(); var arr = new Array(10); 则表示该数组有10个空元素(只有一个值的时候表示有多少元素) var arr = new Array('a','b'); 等价于 ['a','b']; new  是可以省略的 3.数组的读写 数组元素增减 用delate可以删除元素,但是数组长度不变,其实delate之后,是设置元素的值为undefined。   arr.push(1); 在数组尾部添加元素 arr.unshift();在数组头部添加元素 delete arr[2]; 是将数组中的下标为2的元素 变成undefined  并非真正的删除 arr.pop()  删除数组的最后一个元素 arr.shift() 删除数组的第一个元素 数组迭代  for循环  for in 遍历(定义在原型上的属性也会遍历出来) 使用hasOwnProperty可以避免将原型上的属性遍历出来 for(i in arr){ if(arr.hasOwnProperty(i)) //不会遍历出原型上的元素 }

    0赞 · 0采集
  • CrazyCatMort 2019-01-09

    数组头部添加元素

    arr.unshift(obj);

    数组尾部移除元素

    arr.pop();

    数组头部移除元素

    arr.shift();


    0赞 · 2采集
  • minip 2018-11-24

    var arr = [...]

    数组 arr 的 操作中,

    使用 delete 操作符删除 下标为 index 的元素

    或 直接 赋值 下标为 index 的元素 为 undefined后,

    再次访问 数组中的 下标为 index 的元素 返回的 值都是undefined;

    ××× 但是两者不同点在于:

    由于数组也是对象,使用 delete 删除 后,使用 

    index in arr // return false

    但是如果对 arr 原型上添加一个 key 为 index 的 可枚举属性,

    使用 index in arr // return true

    0赞 · 1采集
  • minip 2018-11-24

    老师课件有错误,数组的最大有限长度是

    Math.pow(2, 32) - 1

    不是

    Math.pow(2, 23)  - 1

    截图
    0赞 · 0采集
  • NEPTOO 2018-11-19

    数组的操作

    截图
    0赞 · 0采集
  • 慕神2234420 2018-10-23

    创建数组:1.字面量的方式

        var arr1 = [1,,2];//1,undefined,2

        var arr2 = [,,];//undefined*2

    数组的长度:最小是0,最长的2^23 - 1

            2.new Array 构造器的方式来创建数组

    数组元素增删:

            arr.length和arr.push的方式添加元素都是在元素的末尾添加元素

            arr.unshift方法是在元素的头部添加元素

            delete arr[2] 只是把第三个元素变成undefined,数组长度不变

    数组迭代,for ; for in 

        for in 遍历出来的数组无序,而且会遍历原型链,使用hasOwnProperty来过滤

    0赞 · 0采集
  • PinkySWEARr 2018-10-05

    数组的大小:0 - (2^23-1)

    0赞 · 0采集
数据加载中...
开始学习 免费