我正在嘗試解構一個元組:
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 得到了預期的結果,但答案已被洗掉?此外,純粹的破壞性解決方案可能嗎?
uj5u.com熱心網友回復:
使用嵌套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 ]
uj5u.com熱心網友回復:
元組周圍有額外的括號,試試這個
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)
uj5u.com熱心網友回復:
您可以在 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) // 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/451941.html
標籤:javascript 数组 元组 解构
下一篇:替換字串中找到的單詞
