# JavaScript Array Method :::warning :notebook_with_decorative_cover: **Outline** [toc] ::: ``` const array = [ { username: "john", team: "red", score: 5, items: ["ball", "book", "pen"] }, { username: "becky", team: "blue", score: 10, items: ["tape", "backpack", "pen"] }, { username: "susy", team: "red", score: 55, items: ["ball", "eraser", "pen"] }, { username: "tyson", team: "green", score: 1, items: ["book", "pen"] }, ]; ``` ## forEach() 重新創造一個array,並在每個username後面加上"!" ``` let newArray = [] array.forEach(user => { let { username } = user; username = username + "!"; newArray.push(username); }) console.log(newArray,newArray); ``` output: ``` newArray [ 'john!', 'becky!', 'susy!', 'tyson!' ] ``` ## map() 重新創造一個array,並在每個username後面加上"?" ``` const mapArray = array.map(user => { let { username } = user; return username + "?"; }) console.log("mapArray",mapArray); ``` output: ``` mapArray [ 'john?', 'becky?', 'susy?', 'tyson?' ] ``` ## filter() ``` const filterArray = array.filter(user => { return user.team === "red"; }) console.log(filterArray); ``` output: ``` [ { username: 'john', team: 'red', score: 5, items: [ 'ball', 'book', 'pen' ] }, { username: 'susy', team: 'red', score: 55, items: [ 'ball', 'eraser', 'pen' ] } ] ``` ## reduce() ``` const total = array.reduce((acc, user) => { return acc + user.score }, 0); console.log("total",total); ``` output: ``` total 71 ```