代码改变世界

超级实用JS

2024-03-29 14:43  WEB前端小菜鸟  阅读(2)  评论(0编辑  收藏  举报

1.千分位

// js数字每三位加逗号(千分位格式)美元格式3位一个逗号
    handleUs(val){
      // eg:2536995 --->2,536,995 爽得一匹
      return val.toLocaleString()
    },
// toLocaleString() 还可以将数字转为百分比 eg:
var a = 1;
console.log(a.toLocaleString('zh',{style:'percent'})) -->"100%" -->爽得一匹 

2.判断数组对象的数组里面是否存在这个对象,(如果存在则不加,应用场景--拖拽的时候,判断是否存在存在则不加)
 // 检查是否已存在于数组中
    let exists = draggableData.draggableDataArray.some(
      (item) =>
        item.threeLevel ===
        JSON.parse(e.dataTransfer.getData("customData")).threeLevel
    );
    // 如果对象不存在,则添加到数组中
    if (!exists) {
      draggableData.draggableDataArray.push(
        JSON.parse(e.dataTransfer.getData("customData"))
      );
    }

 3.防抖节流函数--》一般按钮多次点用节流避免多次调用  -- 输入框输入就去调接口或者窗口事件这些用防抖

npm install lodash 

import { debounce, throttle } from 'lodash'

 
// 保存最终接口(或者编辑)
const save = throttle(async () => {

  if (history.state.borardId) {
    saveBoardLastLast(true); // 编辑
  } else {
    saveBoardLastLast(false); // 新增
  }
},2000,{'trailing':false});//设置 2000 毫秒的节流时间及只调用一次加上这个'trailing':false,否则会调用2次开始一次结束一次

写法就是throttle(函数,时间,option)