- <div>1</div>
- <div>2</div>
- <div>3</div>
- <div>4</div>
- var array = new Array(4)
- array.push(1)
- array.push(4)
- array.push(3)
- array.push(6)
- console.log(array)
- var array = [1,2,3]
- console.log(array)
- var array = new Array(1,2,3)
- console.log(array)
- var array = Array(1,2,3)
- console.log(array)
- array.push(4)
- console.log(array)
- // 在数组的末尾添加一个新元素
- array.unshift(5)
- console.log(array)
- // 在数组的开头添加一个新元素
- console.log(array.shift())
- // 在数组中的开头移除并返回一个新元素
- console.log(array)
- console.log(array.pop())
- // 在数组中的结尾移除并返回一个新元素
- console.log(array)
- // push 和 pop 可以构成一个堆栈
- // unshift 和 shift 可以构成一个堆栈
- // push 和 shift 可以构成一个队列
- // unshift 和 pop 可以构成一个队列
- // 栈 队列 先进先出
- // 堆 后进先出
- var o = array[1]
- // 使用 [x] 可以得到第 x+1 个元素
- console.log(o)
- var arr1 = ['c','a','s','d','f','b','n','y']
- arr1.reverse()
- console.log(arr1)
- // 反转数组中的元素 倒着排
- console.log(arr1.sort())
- // 如果调用方法时没有使用参数 将按字母顺序对数组中的元素进行排序 按照字符编码Unicode
- var p1 = {
- name:'wangBaoQiang',
- age:4
- }
- var p2 = {
- name :'maRong',
- age:3
- }
- var p3 = {
- name :'maRong1',
- age:2
- }
- var p4 = {
- name :'maRong2',
- age:6
- }
- arr2 = [p1,p2,p3,p4]
- arr2.sort(function(a,b){
- // console.log(a.age > b.age)
- // a-b大于0(从小到大) 正序
- // a-b小于0(从大到小) 倒序
- // a-b等于0 相对位置不变
- return a.age - b.age < 0
- })
- console.log(arr2)
- // arr1.splice(6,0)
- // console.log(arr1)
- // 会删除索引位置为5之后的所有元素
- // arr1.splice(6,1)
- // console.log(arr1)
- // 第二个参数是删除元素的个数
- // arr1.splice(4,5,'h','t','m','l','5')
- // console.log(arr1)
- // 第三个参数及之后的参数会插入到数组中
- var arr2 = arr1.concat([1,2,3],4,5,6)
- console.log(arr2)
- // 可以连接数组也可以连接值
- console.log(arr2.join('---'))
- // 连接数组元素 返回一个字符串
- // 连接可以指定使用任意字符连接 也可以用多个字符连接
- var strs = [
- '你好',
- '你过来',
- '我们一起嗨起来'
- ]
- console.log(strs.join(''))
- console.log(strs.join())
- console.log(strs.join(null))
- console.log(strs.join(undefined))
- console.log(strs.join(0))
- console.log(arr1)
- console.log(arr1.slice(2))
- // 从该索引出提取原数组中的元素 索引从0开始
- console.log(arr1.slice(2,4))
- // 第一个参数是开始位置会保留 第二个参数是结束位置会被切掉
- console.log(arr1.slice(-2))
- // 如果是负数 那么它规定从数组位置开始算起的位置
- // 也就是说-1是最后一个元素 -2指的是倒数第二个元素 以此类推
- // 第一个参数是负数值时会倒着切
- console.log(arr1.slice(-2,-4))
- console.log(arr1.slice(-2,-1))
- // 如果第二个参数小于第一个参数则返回一个空数组
- console.log(arr1.slice())
- // 不传参数会整体复制一下 得到一个相同的数组 相当于数组复制
- var divs = document.querySelectorAll('div')
- // console.log(divs.slice(2)) // not a function
- // console.log(divs.shift()) //not a function
- var divArr = []
- for(var i = 0;i<divs.length;i++){
- divArr.push(divs[i])
- }
- console.log(divArr)
- // 转化为数组
- var divArr1 = Array.prototype.slice.call(divs)
- console.log(divArr1)
- // 使用call调用Array对象的原型(prototype)的slice方法
- // 调用的结果是divs被复制成一个数组Array对象
- divArr1 = Array.prototype.slice.apply(divs)
- console.log(divArr1)
- // 同上call方法
- console.log(arr1)
- console.log(arr1.indexOf('a'))
- // 从前往后查找元素的位置 找到的是第一个位置
- console.log(arr1.indexOf('t'))
- // 如果没有找到则返回-1
- console.log(arr1.lastIndexOf('d'))
- // 倒着找 找到1个就停止