2.6 KiB
2.6 KiB
id | title | localeTitle | challengeType |
---|---|---|---|
587d7b8a367417b2b2512b4c | Use Destructuring Assignment with the Rest Operator to Reassign Array Elements | Utilice la asignación de destrucción con el operador de reposo para reasignar elementos de matriz | 1 |
Description
Array.prototype.slice()
, como se muestra a continuación:
const [a, b, ...arr] = [1, 2, 3, 4, 5, 7];Las variables
console.log(a, b); // 1, 2
console.log(arr); // [3, 4, 5, 7]
a
y b
toman los valores primero y segundo de la matriz. Después de eso, debido a la presencia del operador en reposo, arr
obtiene el resto de los valores en forma de una matriz.
El elemento resto solo funciona correctamente como la última variable en la lista. Como en, no puede usar el operador de descanso para capturar un subarreglo que omita el último elemento de la matriz original.
Instructions
Array.prototype.slice()
efectivo de manera que arr
sea una sub-matriz de la source
de la matriz original con los dos primeros elementos omitidos.
Tests
tests:
- text: ' <code>arr</code> debería ser <code>[3,4,5,6,7,8,9,10]</code> '
testString: 'assert(arr.every((v, i) => v === i + 3) && arr.length === 8,"<code>arr</code> should be <code>[3,4,5,6,7,8,9,10]</code>");'
- text: Se debe utilizar la destrucción.
testString: 'getUserInput => assert(getUserInput("index").match(/\[\s*\w*\s*,\s*\w*\s*,\s*...\w+\s*\]/g),"Destructuring should be used.");'
- text: <code>Array.slice()</code> no debe utilizarse.
testString: 'getUserInput => assert(!getUserInput("index").match(/slice/g), "<code>Array.slice()</code> should not be used.");'
Challenge Seed
const source = [1,2,3,4,5,6,7,8,9,10];
function removeFirstTwo(list) {
"use strict";
// change code below this line
arr = list; // change this
// change code above this line
return arr;
}
const arr = removeFirstTwo(source);
console.log(arr); // should be [3,4,5,6,7,8,9,10]
console.log(source); // should be [1,2,3,4,5,6,7,8,9,10];
Solution
// solution required