Array.prototype.indexOf(value) 

得到值在数组中的第一个下标,如果元素不存在返回-1,可以用来判断是否包含指定的元素

var arr = [6,5,4,3,1,7,6];
console.log(arr.indexOf(5)) 

Array.prototype.includes(value)
判断数组中是否包含指定value

var arr = [6,5,4,3,1,7,6];
console.log(arr.includes(5)) // true
console.log(arr.includes(8)) // false

Array.prototype.lastIndexOf(value) 

得到值在数组中的最后一个下标

var arr = [6,5,4,3,1,7,6];
console.log(arr.lastIndexOf(6)) 

Array.prototype.forEach(function(item, index){})

遍历数组

var arr = [6,5,4,3,1,7,6];
arr.forEach(function (item, index) {
    console.log(item + '-' + index) // index是角标,item是元素值
})

Array.prototype.map(function(item, index){})

遍历数组返回一个新的数组,返回加工之后的值

    var arr = [6,5,4,3,1,7,6];
    var newArr = arr.map(function (item, index) {
      return item + 10
    })

    console.log(newArr)

Array.prototype.filter(function(item, index){}) 

遍历过滤出一个新的子数组, 返回条件为true的值

    var arr = [6,5,4,3,1,7,6];
    var newArr = arr.filter(function (item, index) {
      return item > 5 //将arr数组中所有大于5的元素添加到一个新的数组中
    })

    console.log(newArr)

Array.from(v)

将伪数组对象或可遍历对象转换为真数组

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>03_数组扩展</title>
</head>
<body>
<button>测试1</button>
<br>
<button>测试2</button>
<br>
<button>测试3</button>
<br>
<script type="text/javascript">
  let btns = document.getElementsByTagName('button') //现在btns也是一个数组(伪数组,没有数组一般的方法)

  // 因为btns是个伪数组,没有数组的一般方法,所以会报错
  // btns.forEach(function (item, index) {
  //   console.log(item)
  // })

  // 将伪数组对象转换为真数组
  Array.from(btns).forEach(function (item, index) {
    console.log(item)
  })
</script>
</body>

</html>

Array.of(v1, v2, v3)

将一系列值转换成数组

console.log(Array.of('3', 3, '4')) //["3", 3, "4"]

find(function(value, index, arr){return true})和findIndex(function(value, index, arr){return true})

find:找出第一个满足条件返回true的元素

findIndex:找出第一个满足条件返回true的元素下标

let arr = [4,5,1,6,4,7,9,13]
  let result = arr.find(function (item, index) {
    return item > 3
  })
  let resultIndex = arr.findIndex(function (item, index) {
    return item > 3
  })
  console.log(result) //4,也就是数组中的第一个元素的值,满足了条件大于3
  console.log(resultIndex) //0,也就是数组中的第一个元素的下标,满足了条件大于3

ES5-ES6-ES7_数组的扩展的更多相关文章

  1. ES6对数组的扩展(简要总结)

    文章目录 数组的扩展(ES6) 1. 扩展运算符 2. Array.from 3. Array.of() 4. copyWithin() 5. find() 和 findIndex() 6. fill ...

  2. ES6 之 数组的扩展

    ES5 检测数组 let arr = [1,2,3,4] Array.isArray(arr) arr instanceof Array 转换方法 arr.toLocaleString() arr.t ...

  3. ES6对数组的扩展

    ECMAScript6对数组进行了扩展,为数组Array构造函数添加了from().of()等静态方法,也为数组实例添加了find().findIndex()等方法.下面一起来看一下这些方法的用法. ...

  4. 【ES6】数组的扩展——扩展运算符

    1.扩展运算符[三个点(...)将一个数组转为用逗号分隔的参数序列] 作用:用于函数调用 function add(x, y) { return x + y; } const numbers = [2 ...

  5. 【ES6】数组的扩展

    1.Array.from(): 将伪数组对象和遍历的对象转为真数组 如果一个对象的键都是正整数或者0,并且有 Length属性,那么这个对象很想数组,称它为伪数组. 伪数组: let obj = { ...

  6. 数组的复制及ES6数组的扩展

    一.数组的复制 // alert([1,2,3]==[1,2,3]); let cc = [0,1,2]; let dd = cc; alert(dd==cc);//此时改变dd会影响cc ES5 只 ...

  7. ES6的新特性(8)——数组的扩展

    数组的扩展 扩展运算符 含义 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) / ...

  8. ES6数组的扩展运算符

    一.基本使用 ES6中函数可以使用 rest参数 接收函数的多余参数,组成一个数组,放在形参的最后面. let fn = (a, ...value) => { console.log(a); c ...

  9. ES6学习(三):数组的扩展

    chapter08 数组的扩展 8.1 扩展运算符 8.1.1 扩展运算符的含义 ... 如同rest运算符的逆运算,将一个数组转换为用逗号分隔的参数序列. console.log(...[1, 2, ...

  10. ES6学习笔记(六)数组的扩展

    1.扩展运算符 1.1含义 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // ...

随机推荐

  1. git中的忽略配置文件中没有忽略该文件,却提交不到服务器上。

    解决方法:在被忽略项目上单击右键

  2. Web下的HTTPS应用

    ---------------------------------------------------------------------------------------------------- ...

  3. spring_05装配bean

    一.前言 <bean id="user1" scope="singleton" init-method="myInit" destro ...

  4. Java基础IO流(五)RandomAccessFile

    RandomAccessFile java提供的对文件内容的访问,既可以读文件也可以写文件.RandomAccessFile支持随机访问文件,可以访问文件的任意位置 (1)java文件模型:    在 ...

  5. JS实现异步提交

    什么是XMLHttpRequest? XMLHttpRequest对象用于在后台与服务器交换数据 XMLHttpRequst的作用 在不重新加载页面的情况下更新网页 在页面已加载后从服务器请求数据 在 ...

  6. ACM ICPC 2017 Warmup Contest 9 L

    L. Sticky Situation While on summer camp, you are playing a game of hide-and-seek in the forest. You ...

  7. git参考, 小结

    git官网: https://git-scm.com 菜鸟教程: http://www.runoob.com/git/git-tutorial.html 廖雪峰: https://www.liaoxu ...

  8. VS2013 添加控制台程序

    一.打开vs2013

  9. Vue 2.5 发布了:15篇前端热文回看

    Vue 2.5 发布了:15篇前端热文回看 2017-11-02 前端大全 (点击上方公众号,可快速关注) 本文精选了「前端大全」2017 年 10 月的 15 篇热门文章.其中有职场分享.技术分享和 ...

  10. SAP MM 物料主数据MRP2 视图’Minimum Lot Size’字段

    SAP MM 物料主数据MRP2 视图’Minimum Lot Size’字段 如下物料号,MRP2视图中,维护了最小采购量为500. MRP type : PD Lot size: EX Minim ...