亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有不同索引的數組的輸出元素

具有不同索引的數組的輸出元素

慕桂英3389331 2023-07-29 16:53:24
我有一張桌子。當我單擊一個元素時,我返回它的索引。我怎樣才能(從這個元素開始)顯示索引+ 9的所有元素。即如果所選元素的索引為0,那么我還需要顯示索引為9、18、27等的元素。let newCell = [td#2, td#0, td#2, td#0, td#2, ..... td#1, td#0]newCell.forEach((item, i) => {    item.addEventListener('click', () => {           console.log(i)    })})
查看完整描述

2 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

在這種情況下,您需要做的是跟蹤應過濾掉哪些元素的計數,然后在過濾時更新該計數。不幸的是,我不清楚你的細胞數據,所以我繼續做出自己的解釋。


let data = [];


for (let i = 0; i < 100; i++) {

    data.push({ id: i });

}


function getByNine(id) {

    let count = id + 9

    

    return data.filter(i => {

        if (i.id === count) {

            count = count + 9

            return i

        } else {

            return

        }

    })

}


console.log(getByNine(3))

  1. getByNine(i)在事件偵聽器中,您可以放置對函數(或任何您想要調用它的名稱)的引用并傳遞其索引。

  2. 在此函數中,您設置默認計數 9 + 無論單擊的元素的 id 是什么

  3. 對對象數組運行過濾器,當計數正確時返回該項目,然后將計數增加 9 以獲取下一個正確的元素

function getByNine(i) {

   // code here

}


newCell.forEach((item, i) => {

    item.addEventListener('click', () => {   

        getByNine(i)

    })

})


查看完整回答
反對 回復 2023-07-29
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

我沒有包含“顯示”該系列中將出現的那些元素的代碼,但下面是記錄它們的代碼。您可以更新它以顯示它們。


const DIFF = 9;


newCell.forEach((item, i) => {

    item.addEventListener('click', ()=>logAllItemsInSeries(i));

}


const logAllItemsInSeries = (i) => {

    console.log(i);

    const series = [];

    while (i < newCell.length) {

        series.push(i);

        i += DIFF;

    }

    series.forEach((index) => {

        console.log(index);

        console.log(newCell[index]);

    });

};


查看完整回答
反對 回復 2023-07-29
  • 2 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號