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.cjs.js CHANGED
@@ -9811,8 +9811,31 @@ const EChartsUtilsAll = {
9811
9811
  const chartExtJson = config.chartExtJson == null || config.chartExtJson == undefined ? null : JSON.parse(config.chartExtJson);
9812
9812
  let title = config.chartTitle, xName = config.chartXName, yName = config.chartYName, color = lineData[0].lineColor;
9813
9813
  // 原始数据
9814
- const xData = xDataArr[0];
9815
- const yData = yDataArr[0];
9814
+ let xData = xDataArr[0];
9815
+ let yData = yDataArr[0];
9816
+ /**
9817
+ * 根据两个数组对应位置的值进行联合过滤,去除任一为0的项
9818
+ * @param {number[]} arr1 - 第一个数字数组
9819
+ * @param {number[]} arr2 - 第二个数字数组
9820
+ * @returns {[number[], number[]]} 返回过滤后的两个数组组成的元组
9821
+ */
9822
+ function filterArrData(arr1, arr2) {
9823
+ const filtered1 = [];
9824
+ const filtered2 = [];
9825
+ // 以较短的数组长度为基准,防止越界
9826
+ const len = Math.min(arr1.length, arr2.length);
9827
+ for (let i = 0; i < len; i++) {
9828
+ // 只有当两个数组在当前位置都非0时,才保留该数据
9829
+ if (arr1[i] !== 0 && arr2[i] !== 0) {
9830
+ filtered1.push(arr1[i]);
9831
+ filtered2.push(arr2[i]);
9832
+ }
9833
+ }
9834
+ return [filtered1, filtered2];
9835
+ }
9836
+ const [xDataFiltered, yDataFiltered] = filterArrData(xData, yData);
9837
+ xData = xDataFiltered;
9838
+ yData = yDataFiltered;
9816
9839
  // 手动计算线性回归参数
9817
9840
  function linearRegression(x, y) {
9818
9841
  const n = x.length;