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.cjs.js CHANGED
@@ -19471,7 +19471,7 @@ const FormulaUtils = {
19471
19471
  optional: false,
19472
19472
  },
19473
19473
  {
19474
- name: '比较大小或比较相等的字符串,格式为:“>”、“<”、“>=”、“<=”、“=”',
19474
+ name: '比较大小或比较相等的字符串,格式为:“>”、“<”、“>=”、“<=”、“=”、“±”',
19475
19475
  repeatable: false,
19476
19476
  optional: false,
19477
19477
  },
@@ -19491,8 +19491,18 @@ const FormulaUtils = {
19491
19491
  if (retData.allCellValsEw.length < 5) {
19492
19492
  return '';
19493
19493
  }
19494
- const array1 = retData.allCellValsEw[0], array2 = retData.allCellValsEw[1], operator = retData.allCellValsEw[2], value = retData.allCellValsEw[3], delimiter = retData.allCellValsEw[4];
19494
+ let array1 = retData.allCellValsEw[0], array2 = retData.allCellValsEw[1], operator = retData.allCellValsEw[2], value = retData.allCellValsEw[3], delimiter = retData.allCellValsEw[4];
19495
19495
  try {
19496
+ // 如果operator、value、delimiter为数组,则取第一个值
19497
+ if (Array.isArray(operator) && operator.length > 0) {
19498
+ operator = operator[0];
19499
+ }
19500
+ if (Array.isArray(value) && value.length > 0) {
19501
+ value = value[0];
19502
+ }
19503
+ if (Array.isArray(delimiter) && delimiter.length > 0) {
19504
+ delimiter = delimiter[0];
19505
+ }
19496
19506
  // 参数基础校验
19497
19507
  if (!Array.isArray(array1) ||
19498
19508
  !Array.isArray(array2) ||
@@ -19502,7 +19512,7 @@ const FormulaUtils = {
19502
19512
  return '/';
19503
19513
  }
19504
19514
  // 验证operator参数的有效性
19505
- const validOperators = ['>', '<', '>=', '<=', '='];
19515
+ const validOperators = ['>', '<', '>=', '<=', '=', '±'];
19506
19516
  if (!validOperators.includes(operator)) {
19507
19517
  return '/';
19508
19518
  }
@@ -19535,10 +19545,14 @@ const FormulaUtils = {
19535
19545
  case '=':
19536
19546
  conditionMet = num1 === numValue;
19537
19547
  break;
19548
+ case '±':
19549
+ // 新增:判断是否在[-value, value]范围内[6,7](@ref)
19550
+ conditionMet = num1 >= -numValue && num1 <= numValue;
19551
+ break;
19538
19552
  }
19539
19553
  }
19540
19554
  else {
19541
- // 字符串数组:只进行相等比较
19555
+ // 字符串数组:只进行相等比较(忽略operator,包括"±")[6](@ref)
19542
19556
  conditionMet = String(array1[i]) === String(value);
19543
19557
  }
19544
19558
  if (conditionMet) {