JavaScript中内置对象--数组对象

一、创建数组的方式:

    2、构造函数创建数组

二、判断数组的方式

1、 instanceof 变量/值 instanceof Array
2、 Array.isArray(变量/值)
返回是true就是数组,返回是false是非数组

三、队列操作方法

    总是在表头(队头)操作     先进先出
    删除元素:shift()           出队
    添加元素:unshift()         插队

四、排序方法

    翻转数组:reverse()返回一个新数组,改变原数组

五、操作方法

1、concat() :如果参数是数组,就是连接两个数组。如果参数是非数组,就是给数组添加元素。都会返回一个新数组
2、slice(start,end):截取数组。start和end都是数组的索引,从start开始截取到end结束,包含start不包含end,返回一个新数组,不会改变原来的数组。如果只有一个参数start,就是从start截取直到结束。
3.splice(start,length):截取数组。start是数组的索引,length是要截取的长度,从start开始截取length个元素,返回一个新数组,会改变原来的数组。如果只有一个参数start,就是从start截取直到结束。

六、位置方法:

1、indexOf() 获取对应元素的索引值,如果有相同的元素,从前往后数第一个元素,如果没有返回-1
2、lastIndexOf() 获取对应元素的索引值,如果有相同的元素,从后往前数第一个元素,如果没有返回-1

七、迭代方法:

都是遍历数组,参数都是一个回调函数,回调函数中的第一个参数是value元素,第二个参数是索引index
1、forEach():遍历数组===for循环遍历
2、some():返回值是布尔类型,如果有一个元素满足条件就返回true,都不满足条件返回false
3、every():返回值是布尔类型,必须所有的元素都满足条件就返回true,只要有一个不满足条件返回false
4、map():返回一个数组,一般用于数学计算
5、filter():返回一个数组,过滤满足条件的元素或者索引

    //一、
    console.log(Array)
    var arr = new Array(20, 'web', true)
    console.log(arr)//[20, 'web', true]
    console.log(typeof arr) //object
    var arrNum = [10, 20, 30, 40, 50, 60]
    //二、
    var num = 1,
      str = 'a',
      bool = false,
      fn = function () {},
      obj = {},
      arr_1 = []
    console.log(num instanceof Array) //false
    console.log(str instanceof Array) //false
    console.log(bool instanceof Array) //false
    console.log(fn instanceof Array) //false
    console.log(obj instanceof Array) //false
    console.log(arr instanceof Array) //true
    console.log(arr_1 instanceof Array) //true
    console.log(
      Array.isArray(num),
      Array.isArray(str),
      Array.isArray(bool),
      Array.isArray(fn),
      Array.isArray(obj),
      Array.isArray(arr)
    )
    //三、
    arr.shift()
    console.log(arr)//['web', true]
    arr.shift()
    console.log(arr)//[true]
    arr.unshift('小明')
    console.log(arr)//['小明',true]
    arr.unshift('小花')
    console.log(arr)//['小花','小明',true]
    arr.shift()
    console.log(arr)//['小明',true]
    //四、
    var arrNum = [10, 20, 30, 40, 50, 60]
    var arrNumNew = arrNum.reverse()
    console.log(arrNumNew)//[60, 50, 40, 30, 20,10]
    console.log(arrNum)//[60, 50, 40, 30, 20,10]
    //五、1、
    var new1 = arrNum.concat(['a', 'b', 'c'])
    console.log(new1)//[60, 50, 40, 30, 20,10,'a', 'b', 'c']
    var new2 = arrNum.concat('Java')
    console.log(new2)//['a', 'b', 'c','Java']
    //五、2、
    var arrNum = [10, 20, 30, 40, 50, 60]
    var new3 = arrNum.slice(1, 4)
    console.log(new3) //[20,30,40]
    console.log(arrNum) //[10, 20, 30, 40, 50, 60]
    console.log(arrNum.slice(2)) //[30, 40, 50, 60]
    //五、3、
    var arrNum = [10, 20, 30, 40, 50, 60]
    var new4 = arrNum.splice(2, 2)
    console.log(new4) // [30, 40]
    console.log(arrNum) // [10, 20, 50, 60]
    console.log(arrNum.splice(3))//[60]
    //六、
    var arr = new Array(10, 50, 20, 30, 40, 50, 60, 70)
    console.log(arr.indexOf(10)) //0
    console.log(arr.indexOf(30)) //3
    console.log(arr.indexOf(50)) //1
    console.log(arr.indexOf('sdsd')) //-1
    console.log(arr.lastIndexOf(10)) //0
    console.log(arr.lastIndexOf(30)) //3
    console.log(arr.lastIndexOf(50)) //5
    console.log(arr.lastIndexOf('sdsd')) //-1
     //七、
    var arr = new Array(10, 20, 30, 40, 50, 60, 70)
    // 1、
    arr.forEach(function (value, index) {
      console.log(index + '====>' + value) //0====>10  1====>20......5====>60 6====>70
    })
    // 2、
    var flag1 = arr.some(function (value, index) {
      return value > 70
    })
    console.log(flag1)//false
    // 3、
    var flag2 = arr.every(function (value, index) {
      return value > 0
    })
    console.log(flag2) //true
    // 4、
    var arrNew = arr.map(function (value, index) {
      return Math.pow(value, 2)
    })
    console.log(arrNew)//[100,400,900,1600,2500,3600,4900]
    // 5、
    var arrNew = arr.filter(function (value, index) {
      return value >= 50
    })
    console.log(arrNew);//[50,60,70]

你可能感兴趣的:(javascript,算法)