rapid-spreadjs 1.0.173 → 1.0.174

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
@@ -9789,8 +9789,31 @@ const EChartsUtilsAll = {
9789
9789
  const chartExtJson = config.chartExtJson == null || config.chartExtJson == undefined ? null : JSON.parse(config.chartExtJson);
9790
9790
  let title = config.chartTitle, xName = config.chartXName, yName = config.chartYName, color = lineData[0].lineColor;
9791
9791
  // 原始数据
9792
- const xData = xDataArr[0];
9793
- const yData = yDataArr[0];
9792
+ let xData = xDataArr[0];
9793
+ let yData = yDataArr[0];
9794
+ /**
9795
+ * 根据两个数组对应位置的值进行联合过滤,去除任一为0的项
9796
+ * @param {number[]} arr1 - 第一个数字数组
9797
+ * @param {number[]} arr2 - 第二个数字数组
9798
+ * @returns {[number[], number[]]} 返回过滤后的两个数组组成的元组
9799
+ */
9800
+ function filterArrData(arr1, arr2) {
9801
+ const filtered1 = [];
9802
+ const filtered2 = [];
9803
+ // 以较短的数组长度为基准,防止越界
9804
+ const len = Math.min(arr1.length, arr2.length);
9805
+ for (let i = 0; i < len; i++) {
9806
+ // 只有当两个数组在当前位置都非0时,才保留该数据
9807
+ if (arr1[i] !== 0 && arr2[i] !== 0) {
9808
+ filtered1.push(arr1[i]);
9809
+ filtered2.push(arr2[i]);
9810
+ }
9811
+ }
9812
+ return [filtered1, filtered2];
9813
+ }
9814
+ const [xDataFiltered, yDataFiltered] = filterArrData(xData, yData);
9815
+ xData = xDataFiltered;
9816
+ yData = yDataFiltered;
9794
9817
  // 手动计算线性回归参数
9795
9818
  function linearRegression(x, y) {
9796
9819
  const n = x.length;