rapid-spreadjs 1.0.66 → 1.0.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -19449,7 +19449,7 @@ const FormulaUtils = {
19449
19449
  optional: false,
19450
19450
  },
19451
19451
  {
19452
- name: '比较大小或比较相等的字符串,格式为:“>”、“<”、“>=”、“<=”、“=”',
19452
+ name: '比较大小或比较相等的字符串,格式为:“>”、“<”、“>=”、“<=”、“=”、“±”',
19453
19453
  repeatable: false,
19454
19454
  optional: false,
19455
19455
  },
@@ -19469,8 +19469,18 @@ const FormulaUtils = {
19469
19469
  if (retData.allCellValsEw.length < 5) {
19470
19470
  return '';
19471
19471
  }
19472
- const array1 = retData.allCellValsEw[0], array2 = retData.allCellValsEw[1], operator = retData.allCellValsEw[2], value = retData.allCellValsEw[3], delimiter = retData.allCellValsEw[4];
19472
+ let array1 = retData.allCellValsEw[0], array2 = retData.allCellValsEw[1], operator = retData.allCellValsEw[2], value = retData.allCellValsEw[3], delimiter = retData.allCellValsEw[4];
19473
19473
  try {
19474
+ // 如果operator、value、delimiter为数组,则取第一个值
19475
+ if (Array.isArray(operator) && operator.length > 0) {
19476
+ operator = operator[0];
19477
+ }
19478
+ if (Array.isArray(value) && value.length > 0) {
19479
+ value = value[0];
19480
+ }
19481
+ if (Array.isArray(delimiter) && delimiter.length > 0) {
19482
+ delimiter = delimiter[0];
19483
+ }
19474
19484
  // 参数基础校验
19475
19485
  if (!Array.isArray(array1) ||
19476
19486
  !Array.isArray(array2) ||
@@ -19480,7 +19490,7 @@ const FormulaUtils = {
19480
19490
  return '/';
19481
19491
  }
19482
19492
  // 验证operator参数的有效性
19483
- const validOperators = ['>', '<', '>=', '<=', '='];
19493
+ const validOperators = ['>', '<', '>=', '<=', '=', '±'];
19484
19494
  if (!validOperators.includes(operator)) {
19485
19495
  return '/';
19486
19496
  }
@@ -19513,10 +19523,14 @@ const FormulaUtils = {
19513
19523
  case '=':
19514
19524
  conditionMet = num1 === numValue;
19515
19525
  break;
19526
+ case '±':
19527
+ // 新增:判断是否在[-value, value]范围内[6,7](@ref)
19528
+ conditionMet = num1 >= -numValue && num1 <= numValue;
19529
+ break;
19516
19530
  }
19517
19531
  }
19518
19532
  else {
19519
- // 字符串数组:只进行相等比较
19533
+ // 字符串数组:只进行相等比较(忽略operator,包括"±")[6](@ref)
19520
19534
  conditionMet = String(array1[i]) === String(value);
19521
19535
  }
19522
19536
  if (conditionMet) {