新航路师徒学院

 找回密码
 立即注册
搜索
查看: 415|回复: 0

【新航路】js——Array

[复制链接]

80

主题

114

帖子

560

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
560
发表于 2016-8-28 19:22:03 | 显示全部楼层 |阅读模式
  1. == 1、建立数组==
  2. * 通过变量赋值为[]来建立数组

  3. var arr = []; // arr 是一个数组
  4. * 需要注意数组的下标是从0开始中的

  5. ==2、获取数组长度==



  6. * 通过length 属性来获得长度

  7. var arr = [1,2];
  8. console.log(arr.length);// =>2
  9. ==3、合并数组==

  10. * 调用 concat 函数产生一个新的合并后的函数 :

  11. var arr = [1,4,3,2];
  12. var r = [5,6]
  13. console.log(arr.concat(r)); //=>[1, 4, 3, 2, 5, 6]
  14. console.log(arr.concat(8,9)); //=>[1, 4, 3, 2, 8, 9]
  15. ==4、转化为字符串==
  16. var arr = [1,2];
  17. console.log(arr.join('-'));//=>1-2
  18. ==5、取最后一个元素==

  19. * 调用 pop, 移除数组中最后一个元素,并返回该元素

  20. var arr = [1,2,3];
  21. console.log(arr.pop());// => 3
  22. console.log(arr)// =>[1,2]
  23. ==6、添加元素到数组尾部==

  24. * 调用push, 将新元素添加到数组尾部,并返回数组新长度

  25. var arr = [1,2,3]
  26. console.log(arr.push(4));
  27. console.log(arr);// => [1,2,3,4]
  28. ==7、倒转数组元素顺序==

  29. *调用reverse, 将元素位置颠倒

  30. var arr = [1,2,3];
  31. arr.reverse();
  32. console.log(arr);//=>[3,2,1]
  33. ==8、取数组第一个元素==

  34. * 调用shift, 移除数组中第一个元素,并返回该元素

  35. var arr = [1,2,3];
  36. console.log(arr.shift); // => 1
  37. console.log(arr);// => [2,3]
  38. ==9、添加元素到数组头部==

  39. * 调用unshift, 将新元素添加到数组头部,并返回数组新长度

  40. var arr = [1,2,3];
  41. console.log(arr.unshift(4));
  42. console.log(arr);// => [4,1,2,3]
  43. ==10、获取子数组==

  44. * 调用slice , 获取数组指定范围了子数组

  45. * 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素

  46. * 请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

  47. var arr = [1,2,3,4,5,6,7];
  48. console.log(arr.slice(2,4));// => [3,4]
  49. console.log(arr);//=>[1,2,3,4,5,6,7]
  50. ==11、替换,删除,插入数组元素==

  51. *  替换: 将数组的连续元素替换为另外一批元素(把任意多个连续的值替换成另一个或多个值)

  52. *  删除:从指定位置删除任意长度的值

  53. *  插入:从指定位置的前面插入任意多个新的值

  54. var arr = [1,2,3,4,5,6,7];
  55. console.log(arr.splice(1,2)); // =>[2,3] 删除
  56. console.log(arr.splice(1,2,5,6));// => [2,3] 替换  从第1个下标开始的两个数为 5,6,并返回被替换的数组成的数组  
  57. console.log(arr);// =>[1,5,6,4,5,6,7]
  58. console.log(arr.splice(1,0,9,0));// => []  插入 不删除项目返回的值为空,从第一个位置的前面添加了新的值,删除的长度为0
  59. console.log(arr);// =>[1, 9, 0, 2, 3, 4, 5, 6, 7]
  60. ==12、排序==

  61. * 调用 sort 对数组进行排序,默认为从小到大,也可以自定义排序规则

  62. var arr = [1,4,3,2,5,6,7];
  63. console.log(arr.sort(function(a,b){return a-b;}));// => [1,2,3,4,5,6,7]
  64. console.log(arr.sort(function(a,b){return b-a;}));// => [7,6,5,4,3,2,1]
  65. ==13、循环==

  66. * 调用 forEach 对数组进行循环

  67. var arr = [1,4,3,2];
  68. arr.forEach(function(i){
  69.     console.log(i); // => 1,4,3,2
  70. })
  71. ==14、索引==

  72. * 调用 indexOf 正向查找某个值在数组中的索引位置

  73. var arr = [1,4,3,2];
  74. var index = arr.indexOf(3);
  75. console.log(index);//=>2
  76. ==15、索引==

  77. * 调用 lastIndexOf 反向查找某个值在数组中的索引位置, 与indexOf的方法不同在于开始查找的位置。

  78. var arr = [1,4,3,2];
  79. var index = arr.lastIndexOf(3);
  80. console.log(index);//=>2
  81. ==16、循环==

  82. *  调用 map对数组进行循环处理. 类似于forEach,不同的是提供了index 索引的值

  83. var arr = [1,4,3,2];
  84. arr.map(function(item,index){
  85.     console.log(item);// =>1,4,3,2
  86.     console.log(index);// =>0,1,2,3
  87. })
  88. ==17、对数组中每一个元素执行回调函数==

  89. * 对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 false,如果发现这个元素,every 将返回 false,如果回调函数对每个元素执行后都返回 true ,every 将返回 true。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。

  90. 回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。console.log(arguments)

  91. var arr = [1,4,3,2];
  92. var flag = arr.every(function(a){
  93.     return a > 4;
  94. })
  95. console.log(flag);// =>false
  96. var flag2 = arr.every(function(a){
  97.     return a > 0;
  98. })
  99. console.log(flag2);// => true
  100. console.log(arr); // =>[1,4,3,2]
  101. ==18、对数组中每一个元素执行回调函数==

  102. * 对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回true,如果发现这个元素,some 将返回true,如果回调函数对每个元素执行后都返回 false ,some 将返回false。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。

  103. 回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。console.log(arguments)

  104. var arr = [1,4,3,2];
  105. var flag = arr.some(function(a){
  106.     return a > 3;
  107. })
  108. console.log(flag);// => true
  109. var flag2 = arr.some(function(a){
  110.     return a < 0;
  111. })
  112. console.log(flag2);// => false
  113. console.log(arr); // =>[1,4,3,2]
  114. ==19、过滤数组==

  115. * filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。

  116. var arr = [1,4,3,2];
  117. var newarr = arr.filter(function(a){
  118.     return a > 3;
  119. })
  120. console.log(arr); // =>[1,4,3,2]
  121. console.log(newarr); //=> [4]
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

新航路师徒学院 ( 京ICP备16035622号

GMT+8, 2018-6-19 05:06 , Processed in 0.153628 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表