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

如何在jQuery中将多选月份数组与年份值拼接成指定格式?

解决方法:拼接多选月份与年份成指定格式

嘿,我明白你要做的事了——把多选的每个月份和单个年份组合成Jan-2017 Feb-2017这样的格式对吧?其实不需要绕弯路用$.each(),咱们可以利用你已经用到的map()方法直接搞定,或者用更简洁的数组方法处理。

方案一:在获取月份时直接拼接

既然你已经用map()来提取选中的月份文本,那可以在这个步骤里直接把年份拼上去,一步到位:

// 先获取选中的年份
const AssignedYear = $('#dlAssignedYear').val();
// 获取选中的月份并直接拼接年份
const formattedMonthYear = $('#dlAssignedMonth :selected').map(function () {
  return `${$(this).text()}-${AssignedYear}`;
}).get();
// 把数组转成空格分隔的字符串
const finalResult = formattedMonthYear.join(' ');

方案二:先获取月份数组,再统一处理

如果你已经单独拿到了AssignedMonth数组,也可以事后用数组的map()方法(原生JS或jQuery的都可以)来处理:

// 你的原有代码
const AssignedMonth = $('#dlAssignedMonth :selected').map(function () {
  return $(this).text();
}).get();
const AssignedYear = $('#dlAssignedYear').val();

// 处理数组并拼接
const formattedMonths = AssignedMonth.map(month => `${month}-${AssignedYear}`);
const finalResult = formattedMonths.join(' ');

为什么你之前用$.each()没成功?

如果一定要用$.each(),记得它只是遍历数组,不会自动返回新数组,你需要手动创建一个数组来存储拼接后的结果:

const AssignedMonth = $('#dlAssignedMonth :selected').map(function () {
  return $(this).text();
}).get();
const AssignedYear = $('#dlAssignedYear').val();

const formattedMonths = [];
$.each(AssignedMonth, function(index, month) {
  formattedMonths.push(`${month}-${AssignedYear}`);
});
const finalResult = formattedMonths.join(' ');

这样finalResult就是你想要的Jan-2017 Feb-2017 Mar-2017格式啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:42:17