--- id: 587d7b7b367417b2b2512b13 title: Copy an Array with the Spread Operator challengeType: 1 videoUrl: '' localeTitle: Copiar una matriz con el operador de propagación --- ## Description
Si bien slice() nos permite ser selectivos sobre qué elementos de una matriz copiar, entre otras muchas tareas útiles, el nuevo operador de difusión de ES6 nos permite copiar fácilmente todos los elementos de una matriz, en orden, con una sintaxis simple y altamente legible. La sintaxis de propagación simplemente se ve así: ... En la práctica, podemos usar el operador de propagación para copiar una matriz de esta manera:
deje que esteArray = [verdadero, verdadero, indefinido, falso, nulo];
que thatArray = [... thisArray];
// thatArray es igual a [true, true, undefined, false, null]
// thisArray permanece sin cambios, y es idéntico a thatArray
## Instructions
Hemos definido una función, copyMachine que toma arr (una matriz) y num (un número) como argumentos. Se supone que la función devuelve una nueva matriz formada por num copias de arr . Hemos hecho la mayor parte del trabajo por usted, pero todavía no funciona del todo bien. Modifique la función utilizando la sintaxis de dispersión para que funcione correctamente (sugerencia: ¡otro método que ya hemos cubierto podría ser útil aquí!).
## Tests
```yml tests: - text: 'copyMachine([true, false, true], 2) debe devolver [[true, false, true], [true, false, true]]' testString: 'assert.deepEqual(copyMachine([true, false, true], 2), [[true, false, true], [true, false, true]], "copyMachine([true, false, true], 2) should return [[true, false, true], [true, false, true]]");' - text: 'copyMachine([1, 2, 3], 5) debe devolver [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]' testString: 'assert.deepEqual(copyMachine([1, 2, 3], 5), [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]], "copyMachine([1, 2, 3], 5) should return [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]");' - text: 'copyMachine([true, true, null], 1) debe devolver [[true, true, null]]' testString: 'assert.deepEqual(copyMachine([true, true, null], 1), [[true, true, null]], "copyMachine([true, true, null], 1) should return [[true, true, null]]");' - text: 'copyMachine(["it works"], 3) debe devolver [["it works"], ["it works"], ["it works"]]' testString: 'assert.deepEqual(copyMachine(["it works"], 3), [["it works"], ["it works"], ["it works"]], "copyMachine(["it works"], 3) should return [["it works"], ["it works"], ["it works"]]");' - text: La función copyMachine debe utilizar el spread operator con array arr testString: 'assert.notStrictEqual(copyMachine.toString().indexOf(".concat(_toConsumableArray(arr))"), -1, "The copyMachine function should utilize the spread operator with array arr");' ```
## Challenge Seed
```js function copyMachine(arr, num) { let newArr = []; while (num >= 1) { // change code below this line // change code above this line num--; } return newArr; } // change code here to test different cases: console.log(copyMachine([true, false, true], 2)); ```
## Solution
```js // solution required ```