rapid-spreadjs 1.0.42 → 1.0.44
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 +105 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.esm.js +105 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -15607,12 +15607,19 @@ const FormulaUtils = {
|
|
|
15607
15607
|
}
|
|
15608
15608
|
let array = new Array();
|
|
15609
15609
|
for (let i = 0; i < arr.length; i++) {
|
|
15610
|
-
if (!isNaN(arr[i]) && arr[i] != '/') {
|
|
15610
|
+
// if (!isNaN(arr[i]) && arr[i] != '/') {
|
|
15611
|
+
// array[i] = arr[i];
|
|
15612
|
+
// }
|
|
15613
|
+
if (!isNaN(arr[i]) && arr[i] != '/' && arr[i] != '') {
|
|
15611
15614
|
array[i] = arr[i];
|
|
15612
15615
|
}
|
|
15613
15616
|
}
|
|
15614
15617
|
//avg为舍弃前的平均值
|
|
15615
15618
|
let avg = FormulaUtils.commFun.getAverage(array);
|
|
15619
|
+
if (array.length === 0 || array.every((value) => value === array[0])) {
|
|
15620
|
+
// console.log('表示所有数据都一样,则直接返回');
|
|
15621
|
+
return avg;
|
|
15622
|
+
}
|
|
15616
15623
|
//标准差
|
|
15617
15624
|
let stand = FormulaUtils.commFun.GetDataOddIncreaseEvenDecrease(FormulaUtils.commFun.GetS(array), -2);
|
|
15618
15625
|
//得到舍弃的范围
|
|
@@ -18835,6 +18842,103 @@ const FormulaUtils = {
|
|
|
18835
18842
|
return ndcs;
|
|
18836
18843
|
},
|
|
18837
18844
|
},
|
|
18845
|
+
{
|
|
18846
|
+
funName: 'YJTXHF',
|
|
18847
|
+
funDesc: '沥青弹性恢复率',
|
|
18848
|
+
funDefaultVal: null,
|
|
18849
|
+
// isContainNullUndefinedVal: true,
|
|
18850
|
+
funParams: [
|
|
18851
|
+
{
|
|
18852
|
+
name: '数值1',
|
|
18853
|
+
repeatable: false,
|
|
18854
|
+
optional: false,
|
|
18855
|
+
},
|
|
18856
|
+
{
|
|
18857
|
+
name: '数值2',
|
|
18858
|
+
repeatable: false,
|
|
18859
|
+
optional: false,
|
|
18860
|
+
},
|
|
18861
|
+
{
|
|
18862
|
+
name: '数值3',
|
|
18863
|
+
repeatable: false,
|
|
18864
|
+
optional: false,
|
|
18865
|
+
},
|
|
18866
|
+
],
|
|
18867
|
+
funCallback: (spread, sheet, retData) => {
|
|
18868
|
+
//如果传递的参数小于3个,则返回空字符串
|
|
18869
|
+
if (retData.allCellVals.length < 3) {
|
|
18870
|
+
return '';
|
|
18871
|
+
}
|
|
18872
|
+
let a1 = retData.allCellVals[0], a2 = retData.allCellVals[1], a3 = retData.allCellVals[2];
|
|
18873
|
+
var arr = [a1, a2, a3];
|
|
18874
|
+
var avg = (a1 * 1 + a2 * 1 + a3 * 1) / 3; // 算术平均值
|
|
18875
|
+
var max = Math.max(...arr);
|
|
18876
|
+
var min = Math.min(...arr);
|
|
18877
|
+
var dxc = max - min; // 最大值与最小值之差
|
|
18878
|
+
var jg; //输出的结果值
|
|
18879
|
+
// 差值是否超过平均值的 5%
|
|
18880
|
+
if (dxc <= avg * 0.05) {
|
|
18881
|
+
jg = avg;
|
|
18882
|
+
return jg; // 情形1:直接取三值平均
|
|
18883
|
+
}
|
|
18884
|
+
// 情形2、3:差值超过 5%
|
|
18885
|
+
var sx = arr.slice().sort((x, y) => x - y); // 升序
|
|
18886
|
+
var jgc = sx[2] * 1 - sx[1] * 1; // 两个较高值之差
|
|
18887
|
+
if (jgc <= avg * 0.05) {
|
|
18888
|
+
jg = (sx[1] * 1 + sx[2] * 1) / 2;
|
|
18889
|
+
return jg; // 情形2:取两个较高值平均
|
|
18890
|
+
}
|
|
18891
|
+
return '/'; // 情形3:无法取值
|
|
18892
|
+
},
|
|
18893
|
+
},
|
|
18894
|
+
{
|
|
18895
|
+
funName: 'YJSZF',
|
|
18896
|
+
funDesc: '沥青四组分FID法',
|
|
18897
|
+
funDefaultVal: null,
|
|
18898
|
+
funParams: [
|
|
18899
|
+
{
|
|
18900
|
+
name: '数值数组',
|
|
18901
|
+
repeatable: false,
|
|
18902
|
+
optional: false,
|
|
18903
|
+
},
|
|
18904
|
+
{
|
|
18905
|
+
name: '标准差',
|
|
18906
|
+
repeatable: false,
|
|
18907
|
+
optional: false,
|
|
18908
|
+
},
|
|
18909
|
+
],
|
|
18910
|
+
funCallback: (spread, sheet, retData) => {
|
|
18911
|
+
//如果传递的参数小于2个,则返回空字符串
|
|
18912
|
+
if (retData.allCellVals.length < 2) {
|
|
18913
|
+
return '';
|
|
18914
|
+
}
|
|
18915
|
+
//获取retData.allCellVals中除最后一个值的数组
|
|
18916
|
+
let arr = [];
|
|
18917
|
+
for (let index = 0; index < retData.allCellVals.length - 1; index++) {
|
|
18918
|
+
arr.push(retData.allCellVals[index]);
|
|
18919
|
+
}
|
|
18920
|
+
let bzc = retData.allCellVals[retData.allCellVals.length - 1];
|
|
18921
|
+
var avg;
|
|
18922
|
+
avg = FormulaUtils.commFun.GetAverage(arr);
|
|
18923
|
+
if (bzc <= 5) {
|
|
18924
|
+
return avg;
|
|
18925
|
+
}
|
|
18926
|
+
else {
|
|
18927
|
+
arr.sort((a, b) => a - b); //排序
|
|
18928
|
+
arr.shift(); // 删除首元素
|
|
18929
|
+
arr.pop(); // 删除尾元素
|
|
18930
|
+
var bzc1 = FormulaUtils.commFun.GetS(arr); //剔除后的标准差
|
|
18931
|
+
var avg1 = FormulaUtils.commFun.GetAverage(arr); //剔除后的平均值
|
|
18932
|
+
if (bzc1 <= 5) {
|
|
18933
|
+
avg = avg1;
|
|
18934
|
+
}
|
|
18935
|
+
else {
|
|
18936
|
+
avg = '无效';
|
|
18937
|
+
}
|
|
18938
|
+
}
|
|
18939
|
+
return avg;
|
|
18940
|
+
},
|
|
18941
|
+
},
|
|
18838
18942
|
],
|
|
18839
18943
|
};
|
|
18840
18944
|
|