首页 > 文章列表 > JavaScript 数组操作

JavaScript 数组操作

310 2024-12-06

JavaScript 数组操作

在 javascript 中操作 2d、3d 或 4d 数组对于 ai 模型训练和图像/音频/视频分析是必要的。

下面是一些使用纯 javascript 进行数组操作的有用函数,无需使用 tensorflow.js 等矩阵包。

二维数组的转置

function transpose_2d_array(arr) {

    var transpose_colnum = arr.length;
    var transpose_rownum = arr.at(0).length;
    var transpose_arr = [];
    for (var i=0; i<transpose_rownum ; i++) {
        const col = array.from({ length: transpose_colnum }, (_, i) => 0);
        transpose_arr.push(col);
    }

    for (var i=0; i<arr.length; i++) {
        for (var j=0; j<arr.at(i).length; j++) {
            transpose_arr[j][i] = arr[i][j];
        }
    }
    return transpose_arr;
}

打印数组的形状

async function recur_func(arr) {
    if (arr != undefined) {
        return [arr[0], arr.length];
    } else {
        return arr;
    }
}

async function shape(arr) {
    var out = await recur_func(arr);
    var shap = [out[1]];
    var c = 0; // typically work with 4D arrays or less
    while (out != undefined && c < 4) {
        out = await recur_func(out[0]);
        if (out != undefined) {
            shap.push(out[1]);
        }
        c = c + 1;
    }
    return shap.slice(0, shap.length-1);
}

我希望这些数组实用函数对某人有所帮助。

快乐练习! ?

来源:https://dev.to/practicing_datscy/javascript-array-manipulations-10d7

本类最新

查看更多