yhdata_pZmqtL8D
2025-2-25 09:44:28
发布在问答
【常用脚本】
脚本debug的值与显示的值不一致
// 获取下拉参数组件的勾选数据
var selectedData = 统计月.getSelectedObjects();
// 定义一个函数,用于将日期字符串减去一个月
function subtractOneMonth(dateStr) {
try {
// 将日期字符串解析为 Date 对象
var dateParts = dateStr.split("-").map(Number); // 将 "YYYY-MM" 分割为 [YYYY, MM]
var date = new Date(dateParts[0], dateParts[1] - 1); // 注意:月份从 0 开始
// 减去一个月
date.setMonth(date.getMonth() - 1);
// 获取新的年份和月份
var year = date.getFullYear();
var month = date.getMonth() + 1; // 月份从 0 开始,需要加 1
// 格式化为 YYYY-MM
return year + "-" + (month < 10 ? "0" + month : month);
} catch (e) {
console.error("日期解析错误:", dateStr, e);
return null; // 如果解析失败,返回 null
}
}
// 对每个勾选的数据减去一个月
var modifiedData = selectedData.map(function(item) {
var result = subtractOneMonth(item);
if (result === null) {
console.error("无效的日期数据:", item);
}
return result;
}).filter(function(item) { // 过滤掉无效的 null 值
return item !== null;
});
// 将处理后的数据设置到文本参数组件中
if (modifiedData.length > 0) {
统计月2.value = modifiedData.join(", "); // 将数组转换为逗号分隔的字符串
} else {
统计月2.value = "无有效数据"; // 如果没有有效数据,显示提示信息
}
var values = param["统计月2"];
if (values instanceof Array) {
for (var i = 0; i < values.length; i++) {
debug("值:" + values);
}
} else {
debug("值:" + values);
}
一个下拉参数组件和一个文本组件,下拉参数组件数据是2025-01、2025-02这种月份选择,当我拉下参数组件选择2025-01、2025-02时,文本组件则显示2024-12、2025-01,当我拉下参数组件选择2025-01时,文本组件则显示2024-12,就是比下拉参数组件少一个月的选择,询问ai得出的脚本如上,刚打开时debug的结果没有问题,但单选月份后,界面还没加载完成,debug的弹窗就出来了,debug的结果没有发生变化,这个需要怎么修改才能让文本参数组件显示的值与弹窗的值一致?
|
-
-
免责声明:本文不代表本站立场,且不构成任何建议,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。