Question: ```
const howLong = 5

```

```
let special = [
    "!",
    "@",
    "#",
    "$",
    "%",
    "+",
    "&",];

let finalPassword = []

for (let i = 0; i < howLong; i++) { 
    finalPassword += special[Math.floor(Math.random() * howLong)].push

}

```

console prints undefined 5x, my goal is to make it copy 5 random characters from the "special" array into a new var "finalPassword"

Answer: 
you should remove the .push call

```
const howLong = 5;    
let special = [
        "!",
        "@",
        "#",
        "$",
        "%",
        "+",
        "&",];

    let finalPassword = "";    
    for (let i = 0; i < howLong; i++) { 
        finalPassword += special[Math.floor(Math.random() * howLong)]
    }

```
In your example you simply have to remove `.push` it seems.

```js
let special = ["!", "@", "#", "$", "%", "+", "&"];

let finalPassword = [];

for (let i = 0; i < 5; i++) {
  finalPassword += special[Math.floor(Math.random() * 5)];
}

console.log({ finalPassword });
```