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