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

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

如何獲取循環內數組值的位置信息

如何獲取循環內數組值的位置信息

慕碼人8056858 2023-08-10 14:34:09
我需要獲取循環內數組位置的信息。我有兩個變量。var columns = 4,      rows = 5;因此,根據 i 的值(循環中),數組將如下所示:現在,我必須提供一系列信息。var positions = [],     totalCount = columns * rows;for (var i = 1; i <= totalCount; i++) {    var informationObject = {        "column": "column number",        "row": "row number",        "column_count": "column count",        "row_count": "row count",    };    positions.push(informationObject);}console.log(positions);其詳細架構如下:我不想根據位置信息來不同地準備這個位置數組。你可能會問我嘗試過什么。我實際上是在做自定義代碼。就像if(i=7){//do operation},我的意思是完全人性化的代碼。這變得非常奇怪。我認為有一種方法可以動態地做到這一點。請幫忙。提前致謝。
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

對基于的輸出進行硬編碼i并不是一個可行的解決方案。您要輸出的屬性值可以通過使用模運算符 ( %) 和除法來獲得:


var columns = 4,

? rows = 5,

? positions = [],

? totalCount = columns * rows;


for (var i = 0; i < totalCount; i++) {

? let r = Math.ceil(i / columns);

? let c = (i % columns) + 1;

??

? positions.push({

? ? column: c,

? ? row: r,

? ? column_count: r,

? ? row_count: c

? });

}


console.log(positions);

查看完整回答
反對 回復 2023-08-10
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

使用兩個 for 循環是您想要輕松捕獲 x/y 信息的方法。其中 x 代表左/右,y 代表上/下。


這就是你要找的嗎?


var columns = 4, 

    rows = 5;

var positions = [], 


for (let x = 1; x <= columns; x++) {

    for(let y=1;y<=rows;y++){

    var informationObject = {

            "column": x,

            "row": y,

            "column_count": y,

            "row_count": x,

        };


        positions.push(informationObject);

    }

}


console.log(positions);


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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