美文网首页
前端常用工具方法(对象深拷贝、前端下载文件)

前端常用工具方法(对象深拷贝、前端下载文件)

作者: 恋上了键盘 | 来源:发表于2020-09-16 11:03 被阅读0次

    对象深拷贝

      /**
       * 深拷贝
       * @param {*} obj
       */
      function clone (obj) {
        const objClone = Array.isArray(obj) ? [] : {}
        if (obj && typeof obj === 'object') {
          for (const key in obj) {
            if (obj[key]) {
              if (obj[key] && typeof obj[key] === 'object') {
                objClone[key] = this.clone(obj[key])
              } else {
                objClone[key] = obj[key]
              }
            }
          }
        }
        return objClone
      }
    

    下载文件

    /**
       * 下载文件
       * @param {url} 下载文件的 URL
      *  @param {fileName} 设置下载文件的文件名
      */
    function downloadFile (url, fileName) {
        const res = await fetch(url)
        const blob = await res.blob()
        const objectUrl = window.URL.createObjectURL(blob)
        const alink = document.createElement('a')
        alink.setAttribute('download', fileName)
        alink.setAttribute('href', objectUrl)
        document.body.appendChild(alink)
        alink.click()
        document.body.removeChild(alink)
      }
    

    相关文章

      网友评论

          本文标题:前端常用工具方法(对象深拷贝、前端下载文件)

          本文链接:https://www.haomeiwen.com/subject/nsucyktx.html