小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
前言
凡此皆编以号,其怪兽为零。 ---X星统制官,《哥斯拉之怪兽大战争》 JavaScript的数组几乎就是对象,它们仅有四处不同。
规约
reduce函数用于将数组的值归约为单个值。它的参数是有两个参数的函数。reduce会循环调用这个传入的参数,知道遍历完毕这个数组未知。
reduce函数有两种调用形式。一种是让reduce函数遍历整个数组的每一个元素。这种调用形式需要传入一个规约的初始值。
let total = [2,5,10].reduce((a,b) => { return a + b },2) // total = 19
这里将 2作为初始值,每次调用函数的时候,实际参数如下:
(2,2) // 4
(4,5) // 9
(9,10) // 19
在无初始值的时候情况如下:
let total = [2,5,10].reduce((a,b) => { return a + b }) // total = 17
实际参数如下:
(2,5) // 7
(7,10) // 17
遍历
- forEach
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" },]
myAwesomeArray.forEach(element => console.log(element.name))
// john
// Ali
// Mass
- every
const myAwesomeArray = ["a", "b", "c", "d", "e"]
myAwesomeArray.every(test => test === "d")
// false
const myAwesomeArray2 = ["a", "a", "a", "a", "a"]
myAwesomeArray2.every(test => test === "a")
// true
- some
const myAwesomeArray = ["a", "b", "c", "d", "e"]
myAwesomeArray.some(test => test === "d")
// true
- find
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" },]
myAwesomeArray.find(element => element.id === 3)
// {id: 3, name: "Mass"}
myAwesomeArray.find(element => element.id === 7)
// undefined
- findIndex
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" },]
myAwesomeArray.findIndex(element => element.id === 3)
// 2
myAwesomeArray.findIndex(element => element.id === 7)
// -1
- filter
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" }, { id: 4, name: "Mass" },]
myAwesomeArray.filter(element => element.name === "Mass")
//{{id: 3, name: "Mass"},{id: 4, name: "Mass"}]
- map
const myAwesomeArray = [5, 4, 3, 2, 1]
myAwesomeArray.map(x => x * x)
// [25,16,9,4,1]
其他的方法,之后在进行补充哈!
数组之"森"
数组就想一个森林,里面很多的函“树”。有些方法纯净如水,并不会私下改变任何入参;而有些则不;所以再用这些方法的时候,我们需要知道那些是纯的,那些不是。
纯净之树
concat
every
filtter
find
findIndex
forEach
indexOf
join
lastIndexof
map
reduce
reduceRight
slice
some
非纯之树
fill
pop
push
shift
splice
unshift
污染之树
reverse
sort