不規範的二維數組,橫縱置換

今天在看數據結構的時候看到一個對二維數組 行與列進行取平均值的操做,忽然發現一個有意思的問題,那就是當一個不規則的二維數組,列要取平均值時那麼咱們怎麼操做呢? 下面將我我的的思考方式,下面是我我的的實現方式,若有雷同純屬巧合,如有更好的解題思路,我也會積極學習codingjavascript

對規範的二維數組行與列取平均值的操做代碼以下:

/** * @name: getRowMean * @abstract: 二維數組 取行的平均值 * @param {type} * @return: void */
const getRowMean = () => {
    const twod = [
        [
            55,66,77
        ],
        [
            56, 67, 89
        ],
        [
            57, 58, 59
        ]
    ]
    
    for(let i = 0; i < twod.length; i++) {
        let meanNums =  0;
        let len = 0;
        for(let row = 0; row < twod[i].length; row++) {
            len+=1;
            meanNums+=twod[i][row];
        }
        console.log('行總值:' + meanNums)
        console.log('行平均值:' + meanNums/len)
    }
}


/** * @name: getColMean * @abstract: 二維數組 獲取列平均值 * @param {type} * @return: void */
const getColMean = () => {
    const twod = [
        [
            55,66,77
        ],
        [
            56, 67, 88
        ],
        [
            561, 672, 883,888
        ]
    ]
    for(let col = 0; col < twod.length; col++) {
        let meanMUn = 0;
        for(let row = 0; row < twod[col].length; ++row) {
            meanMUn += twod[row][col];
        }
        console.log(meanMUn/twod[col].length) // 列的平均值
    }

}
複製代碼

關於上面的規範二維數組,行與列取平均值的操做我就再也不敘述了,很簡單java


下面你們請看代碼吧!!! 下班兒了跑了。

/** * @name: changeRowToCol * @abstract: 不規範二維數組 橫縱置換 * @param {type} * @return: void */
const changeRowToCol = () => {
    const twod = [
        [
            1,2,
        ],
        [
            4, 5, 6
        ],

    ]
    let list = []
    /** * @abstract: map 實現 */
    // twod.map((item, key) => {
    // item.map((itemT, keyT) => {
    // if (list[keyT] === undefined) {
    // list[keyT] = [];
    // }
    // list[keyT].push(itemT) 
    // })
    // })
    /** * @abstract: for 實現 */
    for(let col = 0; col < twod.length; ++col) {
        for(let row = 0; row < twod[col].length; ++row) {
            !list[row] ? list[row] = [] : '';
            list[row].push(twod[col][row])
        }
    }
    console.log(list)
}
複製代碼

相信你們也能看懂,晚上更新對剛入門javascript的同窗進行思路講解。。。數組

相關文章
相關標籤/搜索