面试题答案
一键面试const arr = [1, 2, 3, 4, 5];
const sumOfSquares = arr.reduce((acc, num) => acc + num * num, 0);
console.log(sumOfSquares);
- 使用的数组方法:
reduce
方法。reduce
方法对数组中的每个元素执行一个由您提供的reducer
函数(升序执行),将其结果汇总为单个返回值。在这里,reducer
函数将数组中的每个元素平方后累加到acc
(累加器)中,初始值为0
。 - 并发原理:在 JavaScript 中,这并不是真正意义上的并发操作。JavaScript 是单线程语言,
reduce
方法是顺序遍历数组元素的,一个元素处理完再处理下一个,并非同时处理多个元素。要实现真正的并发对数组元素进行操作,可以借助Web Workers
等技术,但本题中使用reduce
方法按顺序处理元素并累加平方值已能满足需求。