Estoy tratando de desestructurar una tupla:
tuple = [[1,"word",3,4,5],[1,"hello",3,4,5],[1,"word",3,4,5]]Al igual que:
let destruct = [item1, item2, item3, item4, item5] = [tuple] Pero todo se asigna al item1 de la tupla. ¿Es posible mapear realmente cada matriz de la tupla a los 5 elementos de la segunda matriz?
Rendimiento esperado:
item2[0] = "word", item2[1] = "helloEDITAR: alguien respondió con un tuples.map que obtuvo el resultado deseado, pero ¿se eliminó la respuesta? Además, ¿es posible una solución destructora pura?
Use un map() , obtenga el índice del primero, luego utilícelo para crear cada 'columna':
const [ ] = tuple[0].map((_, i) => tuple.map((_, j) => tuple[j][i])) const tuple = [[1,"word",3,4,5],[1,"hello",3,4,5],[1,"word",3,4,5]]; const [ item1, item2, item3, item4, item5 ] = tuple[0].map((_, i) => tuple.map((_, j) => tuple[j][i])); console.log(item2[0], item2[1]); // word hello console.log(item4); // [ 4, 4, 4 ]Tiene corchetes adicionales alrededor de la tupla, intente esto
const tuple = [[1,"word",3,4,5],[2,"word",3,4,5],[3,"word",3,4,5]] const [item1, item2, item3, item4, item5] = tuple console.log(item3)puedes desestructurar cualquier matriz u objeto en javascript
let tuple = [[1,"word",3,4,5],[1,"word",3,4,5],[1,"word",3,4,5]] let [item1, item2, item3] = tupleincluso puede obtener el valor anidado de la siguiente manera
let [item1, [one, word, three], item3] = tuple; console.log(one) // 1 console.log(word) // 'word' console.log(three) // 3