我正在通過一個陣列進行映射,并希望輸出如下:
Array.from([1,2,3,4,5,6,7,8,9,10]).map((number, index) => console.log(index))
// 0-white 1-black
// 2-black 3-white
// 4-white 5-black
// 6-black 7-white
// 8-white 9-black
如何使用 的索引來做到這一點Array.map?
對于背景關系,我正在映射要在兩列網格上顯示的專案串列。我需要使用 JS,因此index需要推斷正確的顏色,并且在這種情況下不能使用 CSS。
我一生都無法弄清楚數學邏輯來獲得正確的顏色。
uj5u.com熱心網友回復:
一種方法是對 的最低 2 位進行異或運算index,這將為您提供一個模式,0,1,1,0然后可以將其轉換為blackand white:
result = Array.from([1,2,3,4,5,6,7,8,9,10])
.map((_, index) => (index & 1) ^ (index >> 1 & 1) ? 'black' : 'white')
console.log(result)
uj5u.com熱心網友回復:
就像是
const pattern = ["white", "black", "black", "white"];
Array.from([1,2,3,4,5,6,7,8,9,10]).map((_, i) => {
console.log(i, pattern[i % pattern.length])
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/490168.html
標籤:javascript
