//?函數(shù)節(jié)流
let?firstEnter?=?true
export?const?throttle?=?(context,?func,?delay)?=>?function?(...args)?{
??if?(firstEnter)?{?//?firstEnter為true允許觸發(fā)
????func.apply(context,?args);
????firstEnter?=?false?//?防止連續(xù)觸發(fā)
????const?timer?=?setTimeout(()?=>?{?//?一段時間后再次允許觸發(fā)
??????firstEnter?=?true
??????clearTimeout(timer)
????},?delay)
??}
}
//?提示彈窗
export?const?tipPop?=?(constext,?type,?message,?duration)?=>?{
??constext.$message({
????type,
????message,
????duration,
??})
}
//?彈窗節(jié)流
export?const?throttleTipPop?=?(context,?type,?message,?delay?=?2000)?=>?{
??throttle(context,?tipPop,?delay)(context,?type,?message,?delay)
}
//數(shù)組中相同的對象去重
export?function?deteleObject(obj)?{
??var?uniques?=?[];
??var?stringify?=?{};
??for?(var?i?=?0;?i?<?obj.length;?i++)?{
????var?keys?=?Object.keys(obj[i]);
????keys.sort(function(a,?b)?{
??????return?(Number(a)?-?Number(b));
????});
????var?str?=?'';
????for?(var?j?=?0;?j?<?keys.length;?j++)?{
??????str?+=?JSON.stringify(keys[j]);
??????str?+=?JSON.stringify(obj[i][keys[j]]);
????}
????if?(!stringify.hasOwnProperty(str))?{
??????uniques.push(obj[i]);
??????stringify[str]?=?true;
????}
??}
??uniques?=?uniques;
??return?uniques;
}?