博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017-5-30引用类型之Aray数组
阅读量:5228 次
发布时间:2019-06-14

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

引用类型之数组

  • javaScript语法中Array类型的特点:1.数组中的每一项可以保存任何数据;2.数组的大小可以动态调整

    • 1.创建数组的两种基本方式:1.使用Array构造函数,2.使用数组字面量表示法

    • 2.在读取和设置数组的值时,要使用方括号并提供相应值基于0的数字索引

    • 3.数组的项数保存在length属性中,这个属性会返回0或者更大的值

    • 4.数组length属性的特点:可以从数组的末尾移出项或向数组中添加新项

    • 5.利用length属性可以方便地在数组末尾添加新项

  • 检测:确定某个对象是不是数组

  • 1.使用instanceof操作符检测结果

  • 2.在全局环境中确定某个值到底是不是数组

  • 栈是一种后进先出的数据结构,也就是最新添加的项最早移除,而栈中项的插入(叫做推入)和移除(叫做弹出)

  • 只发生在一个位置栈的顶部,并为数组提供了push()和pop()方法,以便实现类似栈的行为

  • 1.push()方法可以接受任意的数量的参数,把它们逐个添加到数组末尾,并返回数组的长度

  • 2.pop()方法从数组末尾移出最后一项,减少数组的length,并返回数组的项;

  • 所有对象都具有toLocaleString(),toString()和valueOf()方法

  • 队列方法

    • 队列数据结构访问的规则是:先进先出.队列在列表末端添加项从列表前端移出项

    • 模拟队列方法: shift()方法移出数组中的第一个项并返回该项,同时将数组长度减1

    • unshift()方法:可以在数组前端添加任意个项并返回新数组的长度

  1. /* 

  2. *----------------------------------------------5.2Array类型------------------------------- 

  3. * javaScript语法中Array类型的特点:1.数组中的每一项可以保存任何数据;2.数组的大小可以动态调整 

  4. * 1.创建数组的两种基本方式:1.使用Array构造函数,2.使用数组字面量表示法 

  5. * 2.在读取和设置数组的值时,要使用方括号并提供相应值基于0的数字索引 

  6. * 3.数组的项数保存在length属性中,这个属性会返回0或者更大的值 

  7. * 4.数组length属性的特点:可以从数组的末尾移出项或向数组中添加新项 

  8. * 5.利用length属性可以方便地在数组末尾添加新项 

  9. * 

  10. * *

  11. //1.1使用Array构造函数创建数组 

  12. var createArray = new Array(); 

  13. var createArray = new Array(20);//给构造函数传递项目数量,该数量就是array的length属性 

  14. var createArray = new Array("水浒传","西游记","三国演义","红楼梦");//向Array构造函数传递数组应该包含的项,创建一个包含3个字符串值得数组 

  15. var createArray = Array();//省略new操作符也同样可以创建数组 

  16. //1.2 使用数组字面量表示法,数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开; 

  17. var colors = ["red","blue","yellow","black","green"];//创建一个包含了5个字符串的数组 

  18. var colors = []; //创建一个空数组 

  19. var colors = [1,2];//不要这样!创建一个包含2或3个项,且值分别是:1,2,undefined 

  20. var colors = [,,,,,];//不要这样!创建H一个包含5或6个项,且值是undefined 

  21. //2.读取和设置数组的值时,要使用方括号并提供相应值基于0的数组索引 

  22. var colors = ["blue","red","green"]; 

  23. console.log(colors[1]);//red 

  24. colors[0] = "black"; //修改数组中第一项的值 

  25. console.log(colors[0]); 

  26. colors[3] = "yellow";//在数组中新增一项 

  27. console.log(colors.length); 

  28. //3.数组的项数会保存在length属性中,这个属性会返回0或者更大的值 

  29. var colors = ["red","blue","yellow"]; //创建一个只包含3个项的数组 

  30. var student = []; //创建一个空数组 

  31. console.log(colors.length); //3 

  32. console.log(student.length); //0 

  33. //4.数组length属性可以向数组的末尾移出项或向数组中添加新项 

  34. var colors = ["red","blue","black"]; 

  35. colors.length = 2;//移出了数组中末尾一项; 

  36. console.log(colors[2]);//undefined 

  37.  

  38. colors.length = 5;//将length的属性设置为大于数组项数的值,则新增的每一项都会取得undefined值 

  39. console.log(colors[4]); //undefined 

  40. //5.利用length属性在末尾添加新项 

  41. var student = ["张三","李四","王五"]; 

  42. student[student.length] = "武松"

  43. student[student.length] = "宋江"

  44. console.log(student); //["张三", "李四", "王五", "武松", "宋江"

  45.  

  46. /* 

  47. * ***********************5.2.1 检测数组************************ 

  48. * 检测:确定某个对象是不是数组 

  49. * 1.使用instanceof操作符检测结果 

  50. * 2.在全局环境中确定某个值到底是不是数组 

  51. * *

  52. //1.使用instanceof操作符检测结果 

  53. if (value instanceof Array){ 

  54. //对数组执行某些操作 


  55. //2.在全局环境中确定某个值到底是不是数组 

  56. if(Array.isArray(value)){ 

  57. //对数组执行某些操作 


  58.  

  59. /* 

  60. * ********************5.2 转换方法********************* 

  61. *所有对象都具有toLocaleString(),toString()和valueOf()方法 

  62. * 

  63. * *

  64. var colors = ["red","blue","yellow"]; 

  65. console.log(colors.toString());//red,blue,yellow 表示返回数组的字符串,每个值得字符串表示拼接成一个字符串 

  66. console.log(colors.valueOf());//["red", "blue", "yellow"

  67. console.log(colors);//["red", "blue", "yellow"

  68. /* 

  69. * ****************************5.2.3 栈方法******************** 

  70. * 栈是一种后进先出的数据结构,也就是最新添加的项最早移除,而栈中项的插入(叫做推入)和移除(叫做弹出) 

  71. * 只发生在一个位置栈的顶部,并为数组提供了push()和pop()方法,以便实现类似栈的行为 

  72. * 1.push()方法可以接受任意的数量的参数,把它们逐个添加到数组末尾,并返回数组的长度 

  73. * 2.pop()方法从数组末尾移出最后一项,减少数组的length,并返回数组的项; 

  74. * 

  75. * *

  76. //1.push()方法可以接受任何数量的参数,把它们逐个添加到数组末尾,并返回数组的长度 

  77. var colors = new Array();//创建一个数组 

  78. var count = colors.push("red","blue");//向数组中推入这两项 

  79. console.log(count);//2 表示返回数组的长度 

  80. console.log(colors); //["red", "blue"

  81. var count = colors.push("black"); //继续推入另一项 

  82. console.log(count); //3 

  83. console.log(colors);//["red", "blue", "black"

  84.  

  85. //2.pop()方法从数组末尾移除最后一项,减少数组的length,并返回数组的项数 

  86. var colors = ["red","blue","yellow"]; 

  87. var item = colors.pop();//取出最后一项 

  88. console.log(item);//yellow 

  89. console.log(colors);//["red", "blue"

  90.  

  91. /* 

  92. * ************************5.2.4队列方法*************** 

  93. * 队列数据结构访问的规则是:先进先出.队列在列表末端添加项从列表前端移出项 

  94. * 模拟队列方法:shift()方法移出数组中的第一个项并返回该项,同时将数组长度减1 

  95. * unshift()方法:可以在数组前端添加任意个项并返回新数组的长度 

  96. * *

  97. //1.模拟队列方法shift()方法 

  98. var colors = new Array(); 

  99. var count = colors.push("red","blue");//向数组中推入两项 

  100. console.log(colors,count);//["red", "blue"] 2 

  101. var item = colors.shift(); 

  102. console.log(colors,item,colors.length);//["blue"] "red"

  103.  

  104. //unshift方法 

  105. var colors = new Array(); 

  106. var count = colors.unshift("red","green"); 

  107. console.log(colors,count); //["red", "green"] 2 

  108. /* 

  109. * *************************5.2.5重排序方法******************** 

  110. * 1.reverse()方法反转数组项的顺序 

  111. * 2.sort()方法按升序排列数组项 

  112. * *

  113. //1.reverse()反转数组项的顺序 

  114. var student = ["武松","宋江","鲁智深"]; 

  115. student.reverse();//反转了数组的顺序 

  116. console.log(student);//["鲁智深", "宋江", "武松"

  117. //2.sort()方法按升序排列数组项 

  118. var values = [11,2,3,24,5,6]; 

  119. values.sort(); //[11, 2, 24, 3, 5, 6] 

  120. //比较函数的说明:如果两个函数参数a,b;a>b则返回一个负数,a<b则返回一个正数,a=b则返回一个0;(从大到小的比较规则) 

  121. function compare(value1,value2) {
     

  122. if(value1<value2){
     

  123. return -1; //在之前 

  124. } else if(value1 > value2){ 

  125. return 1; //在之后 

  126. }else { 

  127. return 0; //相等 



  128.  

  129. values.sort(compare);// 

  130. values.sort( 

  131. function (a,b){ 

  132. return a-b;//升序 


  133. ) ; 

  134. // 

  135.  

  136. values.sort( 

  137. function (a,b){ 

  138. return b-a;//降序 



  139.  

  140. // 

  141. var values = [11,2,3,24,5,6]; 

  142. function compare(value1,value2){ 

  143. return value2 -value1; 


  144. values.sort(compare) 

转载于:https://www.cnblogs.com/shuiyaodongwu310988929/p/6922441.html

你可能感兴趣的文章
python random模块
查看>>
IOS-关闭(退)键盘事件
查看>>
重定向
查看>>
使用Web API_&_使用Pygal可视化仓库
查看>>
用socketio做web系统在线用户量统计,和消息提醒
查看>>
转:VMware Tools安装后share folders为空的设置
查看>>
数学之美_再论极大似然估计
查看>>
shell语法
查看>>
shell脚本练习【转】
查看>>
在ASPNETCORE 中 使用REDIS实现分布式缓存
查看>>
h.264加权预测
查看>>
FIddler
查看>>
第六部分(二) 分析Ajax爬取今日头条街拍图
查看>>
web开发问题汇总
查看>>
kuangbin带你飞,矩阵(简单数学推导题)
查看>>
python----基础
查看>>
sftp服务器使用记录
查看>>
Python程序的执行过程原理(解释型语言和编译型语言)
查看>>
hadoop集群基本配置
查看>>
golang-练习1
查看>>