MST

星途 面试题库

面试题:JavaScript中如何对多维数组的每个元素并发执行一个函数

假设有一个二维数组 `let multiArray = [[1, 2], [3, 4]]`,你需要使用JavaScript实现对该多维数组的每个元素并发执行一个函数 `function square(num) { return num * num; }`,并返回处理后的多维数组。要求使用Promise或 `async/await` 来处理并发操作。
16.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
async function processMultiArray(multiArray) {
    const promises = multiArray.map(subArray => subArray.map(num => square(num)));
    const results = await Promise.all(promises.map(subPromises => Promise.all(subPromises)));
    return results;
}

function square(num) {
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve(num * num);
        }, 100);
    });
}

let multiArray = [[1, 2], [3, 4]];
processMultiArray(multiArray).then(result => {
    console.log(result);
});