---
# System prepended metadata

title: map
tags: [map]

---

---
title: map
tags: map,
description:
---

map
===

參考文章: https://wcc723.github.io/javascript/2017/06/29/es6-native-array

### map 介紹 
> 1. 為 JavaScript 的陣列方法，可以用來「修改陣列元素」。
> 2. 不會影響原來的陣列，而是會透過函式內所回傳的值組合成一個新的陣列。
> 3. map() 需要設定回傳值，如果不設定則會回傳 undefined

舉例: 
```javascript=
let arr = [1,2,3,4];
let newArr = arr.map((item) => {
  return item * 2;
});
console.log(arr); // 結果為: [1, 2, 3, 4]
console.log(newArr); // 結果為: [2, 4, 6, 8]
```

```javascript=
let arr = [1,2,3,4];
let newArr = arr.map((item) => {
  /* 假設不設定回傳 */
});
console.log(newArr); // 結果為: [undefined, undefined, undefined, undefined]
```

題目（使用 CodePen 作答）
---
請使用 map() 操作 array 陣列，賦予 newArray 陣列元素。結果如下圖:

![](https://i.imgur.com/brnHTk5.png)

```js=
const array = [
  {
    name: '小明',
    age: 18
  },
  {
    name: '小美',
    age: 15
  },
  {
    name: '杰倫',
    age: 19
  },
  {
    name: '漂亮阿姨',
    age: 22
  },
  {
    name: '老媽',
    age: 28
  }
];
let newArray = [];
```

```javascript=
const array = [
  {
    name: '小明',
    age: 18
  },
  {
    name: '小美',
    age: 15
  },
  {
    name: '杰倫',
    age: 19
  },
  {
    name: '漂亮阿姨',
    age: 22
  },
  {
    name: '老媽',
    age: 28
  }
];

let newArray = array.map(item => {
  return `${item.name} ${item.age} 歲囉`;
});

console.log(newArray);

// ['小明 18 歲囉', '小美 15 歲囉', '杰倫 19 歲囉', '漂亮阿姨 22 歲囉', '老媽 28 歲囉']
```
![](https://i.imgur.com/n6I0grt.png =90%x)
