
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