我有一個串列串列:
myList = [[67, 79], [1, 5], [63, 122], [43, 44], [2, 5], [31, 37], [16, 45], [110, 124], [60, 64], [68, 79], [37, 116], [5, 76]]
而且我想對其進行洗牌,但我嘗試過的每一種方式都破壞了串列的結構并將其剝離為裸數字。例如:
myShuffledList = myList.sort((a, b) => 0.5 - Math.random());
給了我類似的東西:
myShuffledList = [60,64,110,124,63,122,5,76,43,44,68,79,37,116,2,5,1,5,67,79,16,45,31,37]
而不是這樣的:
myShuffledList = [[68, 79], [2, 5], [31, 37], [1, 5], [67, 79], [110, 124], [63, 122], [16, 45], [5, 76], [37, 116], [43, 44], [60, 64]]
有沒有簡單的解決方案來避免串列被完全剝離,而只是對串列串列進行洗牌?
uj5u.com熱心網友回復:
一切都按您的預期作業。您剛剛被 console.log 將您的陣列轉換為字串而迷惑了。如果您使用自定義 toString 函式來避免這種情況,您可以看到一切都按預期作業
myList = [
[67, 79],
[1, 5],
[63, 122],
[43, 44],
[2, 5],
[31, 37],
[16, 45],
[110, 124],
[60, 64],
[68, 79],
[37, 116],
[5, 76]
]
myShuffledList = myList.sort((a, b) => 0.5 - Math.random());
var toString = (list) => {
return `${list.map((sublist) => `[${sublist}]`)}`
}
console.log(toString(myList))
console.log(toString(myShuffledList))
uj5u.com熱心網友回復:
你能解釋一下你想要完成什么嗎?我從“隨機播放”中了解到的是,您需要一個新串列,其中包含所有帶下劃線的子串列的元素。真的嗎?
uj5u.com熱心網友回復:
謝謝大家的回答!原來我誤會了。我嘗試列印這些數字,這就是為什么它們沒有括號出現并且似乎失去了它們的結構。你們現在是正確的,他們沒有失去他們的結構,而且它應該正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505649.html
標籤:javascript 数组 随机的
上一篇:如何不顯示地圖中陣列的第一項?
下一篇:搜索和替換文本但排除某些標簽
