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

如何修改Lodash代码获取数组前5个和最后两个元素

代码修改方案:合并数组前5项与最后2项并映射处理

原代码功能:从PROJECT_STAGE数组中提取前5个元素,映射为{value, label}结构后赋值给this.listSelectProjectStages。

修改后代码实现需求(同时获取前5项和最后2项,合并后映射):

// 先获取完整的PROJECT_STAGE数组
const projectStages = _.values(_.get(map, 'PROJECT_STAGE', []));
// 提取前5项和最后2项并合并
const targetStages = [...projectStages.slice(0, 5), ...projectStages.slice(-2)];
// 映射为目标结构并赋值
this.listSelectProjectStages = _.map(targetStages, (e) => ({
    value: e?.name,
    label: e?.label,
}));

修改说明:

  • 单独提取projectStages变量,避免重复调用_.values和_.get,提升可读性与性能
  • 使用slice(0, 5)获取前5个元素,slice(-2)直接获取数组最后2个元素(若数组长度不足2,会返回现有全部剩余元素)
  • 通过扩展运算符...合并两个子数组,逻辑清晰直观(也可使用Lodash的_.concat(firstFive, lastTwo)实现合并)
  • 统一对合并后的数组做映射处理,减少重复的映射逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:17:42