博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript Array(数组)
阅读量:4322 次
发布时间:2019-06-06

本文共 2763 字,大约阅读时间需要 9 分钟。

 

迁移时间:2017年5月25日08:05:33

UpdateTime--2017年3月31日16:29:08

一、数组(Array)

  (一)用法

//js声明数组的两大类方式// 第一类(通常使用)var array1 = [];//初始化var array2 = [1,2,3];//声明并赋值array2[2] = 4;//指定固定位置数组元素的值array2.push(6);//1,2,4,6// 第二类var array3 = new Array();array3.push("张三");var array4 = new Array(3);//声明数组并指定长度array4[0] = "张三";array4.push("name");//张三,,,name

  注意:

      与Java不同的两点:

     a.java只能给指定的数组元素赋值;(js还可以通过push()方法给数组添加元素)

     b.java如果指定了数组长度,就不能数组越界。(js可以)

    1.1.1 push()方法说明

      方式一:声明的数组没有指定长度

       1.1.1.1 如果没有给指定元素赋值,调push()方法添加元素,会从元素下标为0开始插入;

       1.1.1.2 如果给指定元素赋值后,再调用push()方法添加元素,会从指定元素下标+1的位置开始插入;

      举例:

var array3 = new Array();array3[8] = 'aa';    array3.push("张三");//,,,,,,,,aa,张三    

      方式二:声明数组时,指定了长度

        调用push()方法添加元素,会从最后一个元素下标+1(即从下标为长度n)的位置开始插入(即:允许越界);

       举例:

var array4 = new Array(3);//声明数组并指定长度array4[0] = "张三";array4.push("name");//张三,,,name

       区别: 

         第一类方法与第二类方法的不同之处在于:第一类不能初始化数组长度,但是没有必要指定数组长度,就算指定了长度,数组越界时也不会抛出异常

  (二)操作数组

    1.2.1 增、改、删

     增:一般使用push()方法,也可使用指定元素下标进行添加;改:指定元素下标进行修改;删:指定元素下标的值为null

    举例:

var array = new Array();array.push("张三");//增加array.push("李四");array.push("王五");array[1] = "赵六";//修改array[2] = null;//删除

    1.2.2 迭代(遍历)数组(查)

var array = new Array();array.push("张三");array.push("李四");array.push("王五");
/** * 方法一(推荐使用) */for(var index in array) {    console.log(array[index]);}
/** * 方法二:使用for循环 */for(var i = 0; i < array.length; i++) {    console.log(array[i]);}

UpdateTime--2017年4月1日11:04:55

UpdateTime--2017年6月30日18:33:23

  使用jQuery实现

/** * 方法三:使用$.each()方法 * 第一个参数:数组; * 第二个参数:数组元素索引; * 第三个参数:数组元素值 */$.each(array, function (index, value) {    console.log(index + "," + value);});

  变形: 

/** * 方法四:$('数组').each(function(带参){}); */$(array).each(function (index,value) {     console.log(index + "," + value);});

  使用javascript实现

/** * 方法五:直接使用forEach()方法(不建议使用) * 第一个参数:数组元素值; * 第二个参数:数组元素索引 */array.forEach(function(value,index) {    console.log(value + ',' + index);   }); 

  注意:

       1.虽然javascript也可以像java那样有自己的foreach方法(方法四),但是IE9下版本不支持,所以不推荐使用。(若非得使用js实现,转到文章:js自定义方法)

     2.对于方法一,java中没有这种迭代方式。

  UpdateTime--2017年9月7日16:01:12

  (三) 格式转换

  3.1 将数组转换成字符串

  需要使用join()方法

  语法:

    arrayObject.join(separator)

  参数描述:

    可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 

  返回值:

    返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。

  举例:

var array = ["element1","element2",10];alert(array.join());//element1,element2,10

  UpdateTime--2017年9月8日09:11:43

  3.2 将数组转换成JSONArray

// 1.声明一个数组对象[]并赋值var array = ["element1","element2",10];// 2.声明一个JSONArray对象var JSONArray = {};// 3.对数组进行迭代,并插入到json对象中for (var i in array) {    // 以元素下标为key,该元素为value    JSONArray[i] = array[i];}alert(JSONArray[0]);// element1

 

 

  

 

 

转载于:https://www.cnblogs.com/Marydon20170307/p/6901877.html

你可能感兴趣的文章
20165332第四周学习总结
查看>>
Codeforces Round #200 (Div. 1)D. Water Tree dfs序
查看>>
linux安全设置
查看>>
Myflight航班查询系统
查看>>
Chapter 4
查看>>
推荐10款左右切换的焦点图源码下载
查看>>
团队-团队编程项目爬取豆瓣电影top250-代码设计规范
查看>>
表头固定内容可滚动表格的3种实现方法
查看>>
想对你说
查看>>
day5 面向对象
查看>>
{算法}Young司机带你轻松KMP
查看>>
不同方法获得视差图比较
查看>>
发现的一个好的socket网页抓取源码
查看>>
jquery解析json
查看>>
实现自动发邮件功能
查看>>
jQuery笔记(二)
查看>>
GJM : Socket TCP 通信连接(四)
查看>>
基于SDP的提议/应答(offer/answer)模型简介
查看>>
PHP生成word文档的三种实现方式
查看>>
GIS当代技术群2084282(opening)
查看>>