Array.length (Array) – JavaScript 中文开发手册

[
  •   JavaScript 中文开发手册

    Array.length (Array) - JavaScript 中文开发手册

    length是Array的实例属性。返回或设置一个数组中的元素个数。该值是一个无符号 32-bit 整数,并且总是大于数组最高项的下标。

    var items = ['shoes', 'shirts', 'socks', 'sweaters'];
    items.length; 
    
    // returns 4

    描述

    length属性的值是一个 0 到 232的-1次方 的整数。

    var namelistA = new Array(4294967296); //2 to the 32nd power = 4294967296 
    var namelistC = new Array(-100) //negative sign
    
    console.log(namelistA.length); //RangeError: Invalid array length 
    console.log(namelistC.length); //RangeError: Invalid array length 
    
    
    
    var namelistB = []; 
    namelistB.length = Math.pow(2,32)-1; //set array length less than 2 to the 32nd power 
    console.log(namelistB.length); 
    
    //4294967295

    你可以设置length 属性的值来截断任何数组。当通过改变length属性值来扩展数组时,实际元素的数目将会增加。例如:将一个拥有 2 个元素的数组的 length 属性值设为 3 时,那么这个数组将会包含3个元素,并且,第三个元素的值将会是undefined。另见length与数值性质之间的关系。

    Array.length属性的属性特性

    |:----|

    | Writable | yes |

    | Enumerable | no |

    | Configurable | no |

    Writable :如果设置为false,该属性值将不能被修改。Configurable :如果设置为false,删除或更改任何属性都将会失败。Enumerable :如果设置为 true ,属性可以通过迭代器for或for..in进行迭代。

    示例

    遍历数组

    下面的例子中,通过数组下标遍历数组元素,并把每个元素的值修改为原值的2倍。

    var numbers = [1, 2, 3, 4, 5];
    var length = numbers.length;
    for (var i = 0; i < length; i++) {
      numbers[i] *= 2;
    }
    // numbers is now [2, 4, 6, 8, 10]

    截断数组

    下面的例子中,如果数组长度大于 3,则把该数组的长度截断为 3 。

    var numbers = [1, 2, 3, 4, 5];
    
    if (numbers.length > 3) {
      numbers.length = 3;
    }
    
    console.log(numbers); // [1, 2, 3]
    console.log(numbers.length); // 3

    规范

    Specification

    Status

    Comment

    ECMAScript 1st Edition (ECMA-262)

    Standard

    Initial definition.

    ECMAScript 5.1 (ECMA-262)The definition of 'Array.length' in that specification.

    Standard

    ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Array.length' in that specification.

    Standard

    ECMAScript Latest Draft (ECMA-262)The definition of 'Array.length' in that specification.

    Living Standard

    浏览器兼容性

    Feature

    Chrome

    Edge

    Firefox

    Internet Explorer

    Opera

    Safari

    Basic Support

    (Yes)

    (Yes)

    (Yes)

    (Yes)

    (Yes)

    (Yes)

    Feature

    Android

    Chrome for Android

    Edge mobile

    Firefox for Android

    IE mobile

    Opera Android

    iOS Safari

    Basic Support

    (Yes)

    (Yes)

    (Yes)

    (Yes)

    (Yes)

    (Yes)

    (Yes)

  •   JavaScript 中文开发手册
    ]
    转载请保留页面地址:https://www.breakyizhan.com/javascript/32547.html

    posted on 2020-07-06 00:22  MrAit  阅读(278)  评论(0编辑  收藏  举报

    导航