You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript按Open字段范围将一维数组拆分为嵌套子数组

实现方案

你可以通过遍历原数组判断Open字段所属区间,直接推入预定义的三个子数组中,最终得到的就是你需要的单个嵌套总数组结构,实现代码如下:

基础实现版本

// 初始化结果数组,三个子数组依次对应 <11、11-29、30+ 三个区间
const newdata = [[], [], []];

data.forEach(item => {
  const openVal = item.Open;
  if (openVal < 11) {
    newdata[0].push(item);
  } else if (openVal <= 29) {
    newdata[1].push(item);
  } else {
    newdata[2].push(item);
  }
});

// 若需要子数组内按Open升序排列(和你给出的示例结果一致),可补充以下排序逻辑
newdata.forEach(subArr => subArr.sort((a, b) => a.Open - b.Open));

更简洁的reduce实现版本

const newdata = data.reduce((result, current) => {
  // 直接判断区间对应子数组索引
  const index = current.Open < 11 ? 0 : current.Open <= 29 ? 1 : 2;
  result[index].push(current);
  return result;
}, [[], [], []])
// 可选:子数组按Open升序排序
.map(sub => sub.sort((a, b) => a.Open - b.Open));

后续如果需要调整区间规则,只需要修改索引判断的条件即可,不需要改动整体结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:15:03