Array类型

  1 <script>
  2 /*
  3 JavaSrcipt数组与其他语言中的数组的区别
  4 同:有序列表
  5 不同:数组的每一项可以保存任何类型的数据,数组的大小可以动态调整
  6 
  7 创建数组的方式:
  8 1.使用Array构造函数
  9 */
 10 var color= new Array()
 11 var color= new Array(20)//创建一个包含20个项的数组
 12 var color= new Array('red', 'blue', 'green')//创建一个包含3个字符串值的数组
 13 var color= Array(20)//省略new操作符创建一个包含20个项的数组
 14 
 15 /*
 16 2.使用数组字面量表示法
 17 数组字面量由一对包含数组项的方括号表示,多个数组项之间用逗号隔开
 18 */
 19 var color= ['red', 'blue', 'green']//创建一个包含3个字符串值的数组
 20 var names= []//创建一个空数组
 21 var values= [2,3,]//会创建一个包含2或3项的数组,建议不要这样使用
 22 var options= [,,,,,]//会创建一个包含5或6项的数组,建议不要这样使用
 23 
 24 
 25 /*
 26 读取和设置数组的值
 27 使用方括号并提供相应值的基于0的数字索引
 28 方扩号中的所有表示要访问的值,如果索引值小于数组中的项数,则返回对应的值,如果索引值超过了数组现有最大索引值,数组就会自动增加到最大索引值加1的长度
 29 */
 30 var color= ['red', 'blue', 'green']
 31 console.log(color[0])//显示第一项 red
 32 color[2]= 'black'//修改第三项 ["red", "blue", "black"]
 33 console.log(color)
 34 color[3]= 'brown'//新增第四项 ["red", "blue", "black", "brown"]
 35 console.log(color)
 36 
 37 /*
 38 length属性
 39 始终会返回0或更大的值
 40 */
 41 var colors= ['red', 'blue', 'green']
 42 console.log(colors.length) //3
 43 //数组的length不是只读的,还可以从数组的末尾移除项或者向数组中添加新项
 44 colors.length= 2
 45 console.log(colors)// 末尾移除1项 ["red", "blue"]
 46 colors.length= 4
 47 console.log(colors.length)// 4 向数组中添加新项,新增的每一项都会取得undefined值
 48 //利用length在末尾添加新项
 49 var colors= ['red', 'blue', 'green']
 50 colors[colors.length]= 'black'//在3的位置添加
 51 colors[colors.length]= 'brown'//在4的位置添加
 52 console.log(colors)
 53 //数组最后一项索引始终是length-1
 54 var colors= ['red', 'blue', 'green']
 55 colors[99]= 'black'
 56 console.log(colors)//["red", "blue", "green", 99: "black"]
 57 console.log(colors.length)//100
 58 
 59  
 60 
 61  
 62 
 63 /*
 64 栈方法
 65 栈(LIFO):last-in-fist-out 后进先出的数据结构
 66 数组可以表现的像栈一样
 67 
 68 push()方法:
 69 可以接收任意数量的参数,把它们逐个添加到末尾,并返回修改后的长度
 70 
 71 pop()方法:
 72 从数组末尾移除最后一项,减少数组的长度,并返回移除的项
 73 */
 74 var colors= new Array()
 75 var count= colors.push('red', 'green') //推入两项
 76 console.log(count) //2
 77 count= colors.push('black') //推入一项
 78 console.log(count) //3
 79 
 80 var item= colors.pop() //取得最后一项
 81 console.log(item) //back
 82 console.log(colors.length) //2
 83 
 84 /*
 85 栈方法可以与其他数组方法连用
 86 */
 87 var colors= ['red', 'blue']
 88 colors.push('brown')
 89 colors[3]= 'black'
 90 console.log(colors.length) //4
 91 var item= colors.pop()
 92 console.log(item) //black
 93 
 94 /*
 95 队列方法
 96 队列(FIFO):fist-in-fist-out 先进先出
 97 队列在列表末端添加项,在列表前端移除项
 98 
 99 shift()方法
100 从数组前端取得项的方法
101 
102 结合使用shift()和push()方法,可以像使用队列一样使用数组
103 */
104 var colors= new Array();
105 var count= colors.push('red', 'green') //推入两项
106 console.log(count) //2
107 var item= colors.shift() //取得第一项
108 console.log(item) //red
109 console.log(colors.length) //1
110 
111 /*
112 unshift()
113 与shift()的用途相反,在数组前端添加任意个项,并返回新数组的长度
114 
115 结合使用unshift()和pop()方法,可以在数组前端添加项,从数组末端移除项
116 */
117 var colors= new Array()
118 var count= colors.unshift('red', 'green')
119 console.log(count) //2
120 var item= colors.pop()
121 console.log(item)//green
122 console.log(colors.length) // unshift在 iE实现中有偏差
123 
124 /*
125 重排序方法
126 1、reverse()
127 */
128 var values= [1, 2, 3, 4, 5]
129 values.reverse()
130 console.log(values) //5,4,3,2,1
131 //2.sort() 升序排列
132 var values= [1, 3, 5, 4, 2]
133 values.sort()
134 console.log(values) //1,2,3,4,5
135  
136 
137 /*
138 操作方法
139 1.concat() 连接两个或更多的数组
140 */
141 var colors= ['red', 'green', 'blue']
142 var colors2= colors.concat('yellow', ['black', 'brown'])
143 console.log(colors) //"red", "green", "blue"
144 console.log(colors2) //"red", "green", "blue", "yellow", "black", "brown"
145 
146 //2.slice() 从某个已有的数组返回选定的元素
147 var colors= ['red', 'green', 'blue', 'yellow', 'brown']
148 var colors2= colors.slice(1)
149 var colors3= colors.slice(1, 4) //从一开始复制到第四项的位置结束
150 console.log(colors2) //["green", "blue", "yellow", "brown"]
151 console.log(colors3) //["green", "blue", "yellow"]
152 
153 /*
154 3.splice() 删除元素,并向数组添加新元素。
155 可以删除任意数量的项 指定两个参数,要删除的第一项的位置和要删除的项数
156 可以向指定位置插入任意数量项 指定三个参数 :起始位置,0(要删除的项数),要插入的项 
157 可以向指定位置插入任意数量的项
158 */
159 var colors= ['red', 'green', 'blue']
160 var removed= colors.splice(0, 1) //删除第一项
161 console.log(colors) //["green", "blue"]
162 console.log(removed) //["red"]
163 
164 removed= colors.splice(1, 0, 'yellow', 'orange')// 从位置1开始插入两项
165 console.log(colors) //["green", "yellow", "orange", "blue"]
166 console.log(removed) //[]
167 
168 removed= colors.splice(1, 1, 'red', 'purple') //插入两项,删除一项
169 console.log(colors) //["green", "red", "purple", "orange", "blue"]
170 console.log(removed) //["yellow"]
171 
172 
173 </script>
原文地址:https://www.cnblogs.com/tiantian9542/p/6402369.html