我想拆解一个元组:
tuple = [[1,"word",3,4,5],[1,"hello",3,4,5],[1,"word",3,4,5]]就像这样:
let destruct = [item1, item2, item3, item4, item5] = [tuple]但是所有的东西都是从元组分配给item1的。是否有可能实际将每个数组从元组映射到第二个数组中的5个项?
预期产出:
item2[0] = "word",
item2[1] = "hello编辑:有人用tuples.map回答,得到了想要的结果,但答案被删除了吗?此外,一个纯粹的毁灭解决方案可能吗?
发布于 2022-03-29 16:16:27
使用嵌套的map(),获取第一个索引,用它创建每个“列”:
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 ]
发布于 2022-03-29 16:06:27
你在元组周围有额外的括号,试试这个
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)
发布于 2022-03-29 16:13:57
您可以在javascript中分解任何数组或对象。
let tuple = [[1,"word",3,4,5],[1,"word",3,4,5],[1,"word",3,4,5]]
let [item1, item2, item3] = tuple您甚至可以获得嵌套值,如下所示
let [item1, [one, word, three], item3] = tuple;
console.log(one) // 1
console.log(word) // 'word'
console.log(three) // 3https://stackoverflow.com/questions/71665328
复制相似问题