首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript中元组的解构

JavaScript中元组的解构
EN

Stack Overflow用户
提问于 2022-03-29 16:03:21
回答 3查看 213关注 0票数 0

我想拆解一个元组:

代码语言:javascript
复制
tuple = [[1,"word",3,4,5],[1,"hello",3,4,5],[1,"word",3,4,5]]

就像这样:

代码语言:javascript
复制
let destruct = [item1, item2, item3, item4, item5] = [tuple]

但是所有的东西都是从元组分配给item1的。是否有可能实际将每个数组从元组映射到第二个数组中的5个项?

预期产出:

代码语言:javascript
复制
item2[0] = "word",
item2[1] = "hello

编辑:有人用tuples.map回答,得到了想要的结果,但答案被删除了吗?此外,一个纯粹的毁灭解决方案可能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-03-29 16:16:27

使用嵌套的map(),获取第一个索引,用它创建每个“列”:

代码语言:javascript
复制
const [ ] = tuple[0].map((_, i) => tuple.map((_, j) => tuple[j][i]))

代码语言:javascript
复制
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 ]

票数 1
EN

Stack Overflow用户

发布于 2022-03-29 16:06:27

你在元组周围有额外的括号,试试这个

代码语言:javascript
复制
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)

票数 0
EN

Stack Overflow用户

发布于 2022-03-29 16:13:57

您可以在javascript中分解任何数组或对象。

代码语言:javascript
复制
let tuple = [[1,"word",3,4,5],[1,"word",3,4,5],[1,"word",3,4,5]]

let [item1, item2, item3] = tuple

您甚至可以获得嵌套值,如下所示

代码语言:javascript
复制
let [item1, [one, word, three], item3] = tuple;
console.log(one)  // 1
console.log(word)  // 'word'
console.log(three)  // 3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71665328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档