JavaScript数组array-API、es5-api

数组array-API

 var arr = [1,2,3,4]
 var arr1 = [5,6,7,8]
  • concat 数组合并,并不会修改源数组,而是得到一个新的数组
 var arr2 = arr.concat(arr1, [10,10,10])
  console.log(arr, arr1)
  console.log(arr2)
  • join以指定字符来把数组每个元素拼接成一个字符串
  var str = arr.join('-')
  console.log(str)
  • push 在arr的末尾追加一个或多个值,修改的是arr本身,push方法的返回值是新的长度
  // var len = arr.push(20, 40)
  var len = arr.push(20)
  console.log(arr)
  console.log(len) // 5
  • pop 把arr的最后一个元素删掉,修改的也是源数组,pop方法的返回值是被删掉的那个元素
  var num = arr.pop()
  console.log(arr)
  console.log(num)
  • shift在开头删除,unshift在开头追加
  • reverse数组元素反转,修改的是源数组
  arr.reverse()
  console.log(arr)
  • arr当中按照指定的索引截取子数组,索引含头不含尾的,不会修改源数组,而是返回一个新数组
  var arr3 = arr.slice(1,3) // 截图到的是索引1和2,不包含3
  console.log(arr3)

  var arr4 = arr.slice(2) // slice方法只传一个参数,意思就是截取到末尾
  console.log(arr4)

  var arr5 = arr.slice(-2, -1) // slice传递负数,负数代表到数第几个
  console.log(arr5)

  var arr6 = arr.slice(1, -2) // 从2开始,截取到倒数第二个结束,不包含到数第二个
  console.log(arr6)
  • splice修改的是源数组
  var arr = [4,3,5,6,7,8]

  // 把从2开始的数据删掉
   arr.splice(2)
   console.log(arr)

  // 从2开始,删除3个数,删除元素里包含开始索引的
   arr.splice(2,3)
   console.log(arr)

  // 从2开始,删除两个数,然后在删除位置用10去替换
   arr.splice(2, 2, 10)
   console.log(arr)

  // 从第三个参数开始后面可以传任意多个参数,都是替换的值
   arr.splice(2, 2, 10, 20, 30) 
   console.log(arr)

  // 可以把第二个参数写成0,就是添加,可以在任意位置添加元素
  arr.splice(6, 0, 20)
  console.log(arr)

ES5-API

  • 2个索引方法:indexOf() 和 lastIndexOf();

  • 5个迭代方法:forEach()、map()、filter()、some()、every();

  • 2个归并方法:reduce()、reduceRight();

  <script>
    var arr = [4,2,2,4,6]

    // 从arr当中去找2的索引,如果数组里有多个2,得到的是第一次出现的索引
    console.log(arr.indexOf(2)) // 1
    console.log(arr.indexOf(10)) // -1  如果值不存在,那么得到-1

    // 判断数组里是否存在某个值,就用indexOf判断结果是否等于-1

    // 从arr当中去找2的索引,如果数组里有多个2,得到的是最后一次出现的索引
    console.log(arr.lastIndexOf(2))
    console.log(arr.lastIndexOf(10)) // -1  如果值不存在,那么得到-1
  </script>
  • ES5新增的一种遍历数组的方式
    arr.forEach(function (item, index) {
      // item是值,index是索引
      console.log(item, index)
    })
  • map也是用来遍历数组,遍历的同时需要给一个返回值,所有的返回值会放进一个新的数组
    var arr1 = arr.map(function (item ,index) {
      // item是值,index是索引
      console.log(item, index)
      return item*2
    })
    console.log(arr1)
发布了62 篇原创文章 · 获赞 0 · 访问量 538

猜你喜欢

转载自blog.csdn.net/qq_43633053/article/details/105422906
今日推荐