get_nonull(data) {
let arr = [];
data.forEach((el, index) => {
if (isNaN(el)) {
let arrs = data.slice(index);
try {
arrs.forEach((item, i) => {
if (!isNaN(item)) {
const prev = arr[index - i];
let m = prev ? prev : item;
//let m = prev ? prev : 0;//前面一次递增
let ca = (item - m) / (i + 1) + m;
arr.push(Number(ca.toFixed(2)));
throw "";
}
//是NaN赋值最后一个
if (arrs.length - 1 === i) {
const last = arr.slice(-1)[0];
let m = last ? last : 0;
arr.push(m);
}
});
} catch (e) {}
} else {
arr.push(el);
}
});
return arr;
}
//格式化数据为Number
set_num(data) {
let arr = [];
data.forEach((el) => {
arr.push(Number(el));
});
return arr;
},
let arr = [NaN,NaN,NaN,12,2,NaN,NaN,NaN,34,4,2,23,NaN,NaN,NaN]
arr = this.get_nonull(arr)
//[3, 4, 8, 12, 2, 14.5, 12.67, 23.34, 34, 4, 2, 23, 23, 23, 23]
console.log(arr)
07-24
798
03-01
1503
06-27
8191