refer to: https://www.udemy.com/course/the-web-developer-bootcamp/
forEach() method executes a provided function once for each array element.const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; numbers.forEach(function (el) { if (el % 2 === 0) { console.log(el) } }) // for (let el of numbers) { // console.log(el); // } const movies = [ { title: ‘Amadeus‘, score: 99 }, { title: ‘Stand By Me‘, score: 85 }, { title: ‘Parasite‘, score: 95 }, { title: ‘Alien‘, score: 90 } ] movies.forEach(function (movie) { console.log(`${movie.title} - ${movie.score}/100`) })
map() method creates a new array populated with the results of calling a provided function on every element in the calling array.const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; const doubles = numbers.map(function (num) { return num * 2; }) const movies = [ { title: ‘Amadeus‘, score: 99 }, { title: ‘Stand By Me‘, score: 85 }, { title: ‘Parasite‘, score: 95 }, { title: ‘Alien‘, score: 90 } ] const titles = movies.map(function (movie) { return movie.title.toUpperCase(); })
// const add = function(x,y) { // return x + y; // } // const add = (x, y) => { // return x + y; // } const add = (a, b) => a + b; const square = num => { return num * num; } // const rollDie = () => { // return Math.floor(Math.random() * 6) + 1 // } const rollDie = () => ( Math.floor(Math.random() * 6) + 1 ) const movies = [ { title: ‘Amadeus‘, score: 99 }, { title: ‘Stand By Me‘, score: 85 }, { title: ‘Parasite‘, score: 95 }, { title: ‘Alien‘, score: 90 } ] // const newMovies = movies.map(function (movie) { // return `${movie.title} - ${movie.score / 10}` // }) // IMPLICIT RETURN const newMovies = movies.map(movie => ( `${movie.title} - ${movie.score / 10}` ))
filter() method creates a new array with all elements that pass the test implemented by the provided function.const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; numbers.filter(n => { return n < 10 }) const movies = [ { title: ‘Amadeus‘, score: 99, year: 1984 }, { title: ‘Sharknado‘, score: 35, year: 2013 }, { title: ‘13 Going On 30‘, score: 70, year: 2004 }, { title: ‘Stand By Me‘, score: 85, year: 1986 }, { title: ‘Waterworld‘, score: 62, year: 1995 }, { title: ‘Jingle All The Way‘, score: 71, year: 1996 }, { title: ‘Parasite‘, score: 95, year: 2019 }, { title: ‘Notting Hill‘, score: 77, year: 1999 }, { title: ‘Alien‘, score: 90, year: 1979 } ] const badMovies = movies.filter(m => m.score < 70) const recentMovies = movies.filter(m => m.year > 2000) // const goodMovies = movies.filter(m => m.score > 80) // const goodTitles = goodMovies.map(m => m.title) movies.filter(m => m.score > 80).map(m => m.title);
const exams = [80, 98, 92, 78, 77, 90, 89, 84, 81, 77] exams.every(score => score >= 75) const movies = [ { title: ‘Amadeus‘, score: 99, year: 1984 }, { title: ‘Sharknado‘, score: 35, year: 2013 }, { title: ‘13 Going On 30‘, score: 70, year: 2004 }, { title: ‘Stand By Me‘, score: 85, year: 1986 }, { title: ‘Waterworld‘, score: 62, year: 1995 }, { title: ‘Jingle All The Way‘, score: 71, year: 1996 }, { title: ‘Parasite‘, score: 95, year: 2010 }, { title: ‘Notting Hill‘, score: 77, year: 1999 }, { title: ‘Alien‘, score: 90, year: 1979 } ] movies.some(movie => movie.year > 2015)
setTimeout() method of the WindowOrWorkerGlobalScope mixin (and successor to Window.setTimeout()) sets a timer which executes a function or specified piece of code once the timer expires.clearTimeout() method of the WindowOrWorkerGlobalScope mixin cancels a timeout previously established by calling setTimeout().setInterval() method, offered on the Window and Worker interfaces, repeatedly calls a function or executes a code snippet, with a fixed time delay between each call. It returns an interval ID which uniquely identifies the interval, so you can remove it later by calling clearInterval(). This method is defined by the WindowOrWorkerGlobalScope mixin.console.log("HELLO!!!...")
setTimeout(() => {
console.log("...are you still there?")
}, 3000) //3000milliseconds delay,调用function之前的delay
console.log("GOODBYE!!")
const id = setInterval(() => {
console.log(Math.random())
}, 2000); //2000milliseconds delay, 重复调用一个function的delay
// clearInterval(id);
reduce() method executes a reducer function (that you provide) on each element of the array, resulting in single output value.const prices = [9.99, 1.50, 19.99, 49.99, 30.50]; // let total = 0; // for (let price of prices) { // total += price // } // console.log(total) // const total = prices.reduce((total, price) => { // return total + price // }) //累加,求和 const total = prices.reduce((total, price) => total + price) const minPrice = prices.reduce((min, price) => { if (price < min) { return price; } return min; }) //求最值 const movies = [ { title: ‘Amadeus‘, score: 99, year: 1984 }, { title: ‘Sharknado‘, score: 35, year: 2013 }, { title: ‘13 Going On 30‘, score: 70, year: 2004 }, { title: ‘Stand By Me‘, score: 85, year: 1986 }, { title: ‘Waterworld‘, score: 62, year: 1995 }, { title: ‘Jingle All The Way‘, score: 71, year: 1996 }, { title: ‘Parasite‘, score: 95, year: 2019 }, { title: ‘Notting Hill‘, score: 77, year: 1999 }, { title: ‘Alien‘, score: 90, year: 1979 } ] const highestRated = movies.reduce((bestMovie, currMovie) => { if (currMovie.score > bestMovie.score) { return currMovie; } return bestMovie; }) // We can provide an initial value as the 2nd arg to reduce: 设置第二个参数为一个定值 const evens = [2, 4, 6, 8]; evens.reduce((sum, num) => sum + num) //20 evens.reduce((sum, num) => sum + num, 100) //120
const person = { firstName: ‘Viggo‘, lastName: ‘Mortensen‘, fullName: function () { return `${this.firstName} ${this.lastName}` }, shoutName: function () { setTimeout(() => { //keyword ‘this‘ in arrow functions refers to the value of ‘this‘ when the function is created console.log(this); console.log(this.fullName()) }, 3000) } }
JS - callbacks & array methods
原文:https://www.cnblogs.com/LilyLiya/p/14265201.html