创建数组的方式

2种创建数组的的方式

  • 使用Array构造函数创建:
    • var colors = new Array();
    • 如果给构造函数传递数量,而该数量就会变一个具有length属性的值。例如:
    • var colors = new Array(20);//此数组的length为20。
    • 如果给构造函数传递是其他类型的参数,则会创建包含那个值的数组,例如:
    • var colors = new Array("ee","ww");
    • 创建一个包含2项,既字符串"ee","ww"的数组
    • 此外使用构造函数创建数组时,可忽略new操作符。
    • var colors = Array(3);等同于 var colors = new Array(3);
  • 使用数组字面量表示法创建,多个数组之间使用逗号隔开
    • var colors = ["red","blue","green"];//创建一个包含3个字符串的数组
    • var name = [];//创建了一个空数组
    • var values = [1,2,];//NO!!!,这样会创建一个包含2项或3项的数组
    • var opations = [,,,];//NO!!!,这样会创建一个包含3项或4项的数组
    • 以上代码第三行展示了数组字面量最后一项添加逗号的结果会在IE中,values会成为一个包含3项的值,分别为1、2和undefined的数组;在其他浏览器中会成为一个包含2项的值分别为1、2的数组。原因是因为IE8及之前的版本中的ECMAscript实现在数组字面量方面存在bug,由于这个bug导致另外一种情况如最后一行代码所示,该代码可能会创建包含3项的数组(IE9,Firefox,Open,Safari和Chrome中),也可能会创建包含4项的数组(IE8及更早版本)。这种情况下,每一项的值都为undefined。因为IE的实现和其他浏览器不一样,因此不建议使用这种方法创建数组。

读取和设置数组的值- 使用方括号并提供相应值的基于0的数字索引

  • var colors = ["red","blue","green"];//定义一个字符串数组
  • consloe.log(colors[0]);//显示第一项
  • colors[2] = "black";//修改第三项
  • colors[3] = "brown";//修改第四项
  • 方括号的索引表示要访问的值,索引从0开始,0表示数组中的第一项,1表示数组中的第二项...一次类推。
  • 数组的项数保存在数组的length属性中,这个属性始终会返回0或者更大的值,例如
  • var colors = ["red","blue","green"];
  • var arr = []
  • console.log(colors.length); //3
  • console.log(arr); //0
  • 数组的length属性很有特点,它不是只读的,因此通过设置这个属性,可以从数组的末尾移除项或增加,例如:
  • var colors = ["red","blue","green"];
  • colors.length = 4;
  • console.log(colors[3]);//"undefined"
  • colors数组虽然包含3项,但是把数组的length改为4后,这个数组不存在位置3的值,所以访问这个位置的值就为undefined了。
  • 利用length属性给数组末尾添加新数组
    • var colors = ["red","blue","grren"];
    • colors[colors.length] = "black"; //在索引为3的位置添加一个颜色
    • 由于数组最后一项的索引始终是数组的length-1。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值