数组

351 阅读2分钟

数组

数组:一个特殊的普通对象,属性名全是 依次递增的数字( 用中方括号[]) var ary = []空数组 数组的项对应的值是没有限制的,多个项之间以逗号隔开 通过索引去获取对应得

  • :push在数组的末尾增加 unshift在数组的头部增加
var a = [1,2,3]
a.push(4,5)
a.unshift(10,20)
//输出的值就是[10,20,1,2,3,4,5]
  • :pop在数组的末尾删除 shift在数组的头部删除
var a = [1,2,3]
a.pop()
a.shift()
//输出的值就是[2]
  • splice(): splice(n,m,x,y,z)从第n个索引开始删除m个用x,y,z来替补
var a = [1,2,3,4,5,6]
a.splice(1,4,100,200,300)
//输出的值就是[1,100,200,300,6]
  • reverse()数组的反转
var a =[1,2,3,4,5,6]
a.reverse()
//输出的值就是[6,5,4,3,2,1]
  • sort()数组的排序
var a =[5,6,3,2,1,4]
var b =a.sort(function(){
        //升序   return a-b//输出的值就是[1,2,3,4,5,6]
        //降序    return b-a//输出的值就是[6,5,4,3,2,1]
})

  • tostring()用逗号拼接成的字符串
      var ary = [1, 2]
      console.log(ary.toString())
      //输出是字符转的1,2
  • join() 作用与tistring一样都是字符串,不过没有逗号
      var ary = [1,2]
    var res = ary.join('')
    console.log(res)      //输出是字符转的12
  • join('+')返回值是一个字符串相加的等式,但不是值 ,如果返回的是值的话加一个eval
        var ary = [1,2]
    var res = ary.join('+')
    console.log(res)      //输出是字符转的1+2
     var res = eval(ary.join('+'))
    console.log(res)  //输出是3
  • join('-')返回值是一个字符串相减的等式,但不是值 ,如果返回的是值的话加一个eval
    同上

  • concat数组合并
   var ary = [1,2,3]
    var res = ary.concat(666)
    console.log(ary,res)
    //输出的是1,2,3和1,2,3,666
  • slice(n,m)获取从索引n到索引m;n包含在内,m不包含在内
  • slice(n-1,m)获取从第n项到第m项;n包含n,m项
  • indexof查看某一项是否存在,从前面查看,返回值是索引,如果返回的索引是-1,说明没有这一项
  • lastindexof从后面查看 其他功能同indexof
  • map循环数组 有返回值
  • foreach循环数组 没有返回值