You need to enable JavaScript to run this app. JavaScript 数组取中间两数求和出现字符串拼接问题如何解决
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript 数组取中间两数求和出现字符串拼接问题如何解决

你的实现思路针对长度为6的偶数数组是可行的,排序逻辑、下标选取逻辑在固定数组长度的场景下没有问题。

你遇到的数值变成字符串拼接的问题,根源是DraftsApp环境中你拿到的numArray元素实际为字符串类型,+运算符在两侧存在字符串类型值时会默认执行拼接逻辑,你通过Number()强制转换为数值类型再做加法的修复方案是正确的,也可以用隐式转换写法var sum = +numArray[2] + +numArray[3]实现相同效果。

可以用Array.reduce实现该需求,通用写法如下,适配任意偶数长度的数组:

var numArray = [2, 1, 3, 1, 4, 2];
const sortedArray = numArray.sort((a, b) => a - b);
const arrLength = sortedArray.length;
const midSum = sortedArray.reduce((accumulator, currentValue, index) => {
  // 偶数长度数组的两个中间元素下标为 arrLength/2 -1 与 arrLength/2
  if (index === arrLength/2 - 1 || index === arrLength/2) {
    return accumulator + Number(currentValue);
  }
  return accumulator;
}, 0);

这个写法不需要手动写死下标,数组长度变化后也能正常取到中间两个值求和。

内容的提问来源于stack exchange,提问作者slyfox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 05:45:07