求和:
const sum = arr.reduce((prev, cur) => {
return Number(prev || 0) + Number(cur || 0);
});
最大值:
let maxMoney = eval(`Math.max(${moneyArr.toString()})`);
最小值:
let minMoney = eval(`Math.min(${moneyArr.toString()})`);
去重:
uniq = (array) => {
let temp = []; //一个新的临时数组
for(let i = 0; i < array.length; i++){
if(temp.indexOf(array[i]) == -1){
temp.push(array[i]);
}
}
return temp;
}
找差异项1:
arr1.filter(item => {return arr2.indexOf(item) === -1});
找相同项:
arr1.filter(item => {return arr2.indexOf(item) !== -1});
找差异项2:
findDif = (arr1,arr2) => {
let arr = []; // 差异项数组
for(let key in arr1) {
let stra = arr1[key];
let count = 0;
for(let j = 0; j < arr2.length; j++) {
let strb = arr2[j];
if(stra == strb) {
count++;
}
}
if(count === 0) { // 表示arr1的这个值没有重复的,放到arr中
arr.push(stra);
}
}
for(let key in arr2) {
let stra = arr2[key];
let count = 0;
for(let j = 0; j < arr1.length; j++) {
let strb = arr1[j];
if(stra == strb) {
count++;
}
}
if(count === 0) { // 表示arr1的这个值没有重复的,放到arr中
arr.push(stra);
}
}
return arr;
}
js小数点失精:
parseFloat((0.01+0.02).toPrecision(12)) // = 0.03