刷題前必學!棧與隊列!用JavaScript學數據結構與算法
🧑💻JavaScript數據結構與算法-HowieCong 務必要熟悉JavaScript使用再來學! 一、數組增刪操作 在瞭解棧和隊列前,明確數組中的增刪操作具有什麼樣的特性、對應的方法有哪些: 靈活增刪的數組 數組增加元素的三種方法: unshift方法,添加元素到數組的頭部
Nickname HowieCong
Contributes374
Followers0
🧑💻JavaScript數據結構與算法-HowieCong 務必要熟悉JavaScript使用再來學! 一、數組增刪操作 在瞭解棧和隊列前,明確數組中的增刪操作具有什麼樣的特性、對應的方法有哪些: 靈活增刪的數組 數組增加元素的三種方法: unshift方法,添加元素到數組的頭部
Nickname HowieCong
🧑💻JavaScript數據結構與算法-HowieCong 務必要熟悉JavaScript使用再來學! 一、鏈表的基本形態 鏈表和數組都是有序的列表,都是線性結構(有且僅有一個前驅,有且僅有一個後續);不同點在於,鏈表中,數據單位的名稱叫做“結點”,而結點和結點的分佈,在內存中都是離散的 1. 數組的“連續” 在內存中最為關鍵的一個特徵,就是對應一段位於自身上界和下界之間的,一段連
Nickname HowieCong
🧑💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、樹是什麼? 數據結構中的樹,對於現實世界中的樹簡化——樹根抽象為“根節點”,樹枝抽象為“邊”,樹枝的兩個端點抽象為“結點”,樹葉抽象為“葉子結點” 計算機中的樹如下: 二、樹的重點 樹的層次計算規則:根結點所在的那一層為第一層,其子節點為第二層,以此類推 結點和樹
Nickname HowieCong
🧑💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、遍歷的方式 按照順序規則的不同,遍歷方式有如下四種: 先序遍歷 中序遍歷 後序遍歷 層次遍歷 按照實現方式的不同,遍歷方式又可以分為以下兩種: 遞歸遍歷(先,中,後序遍歷) 迭代遍歷(層次遍歷) 二
Nickname HowieCong
🧑💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、時間複雜度 (1)下面代碼,一共執行了幾次? function traverse(arr){ // 最沒有懸念的是函數裏面的第一行代碼,只會被執行1次 var len = arr.length // 1. i的初始化語句,只有一次,只會被執行1次 //
Nickname HowieCong
一、引言 在 JavaScript 的奇妙世界裏,閉包無疑是一個既強大又迷人的特性。它就像是一把萬能鑰匙,為開發者打開了實現各種高級功能的大門。從數據封裝與保護,到函數的記憶化,再到模塊化開發,閉包都發揮着舉足輕重的作用。在實際開發中,我們常常利用閉包來創建私有變量和方法,避免全局變量的污染,提高代碼的可維護性和安全性。例如,在一個大型的 Web 應用中,我們可以使用閉包來封裝一些只在特定模塊內部
Nickname 李遊Leo
🧑💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、兩數求和——Map 原題: 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,並返回他們的數組下標。你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 示例: 給定 nums = [2, 7, 1
Nickname HowieCong
🧑💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、鏈表三種方向 鏈表的處理:合併、刪除等(刪除操作畫個記號) 鏈表的反轉及其衍生題目 鏈表成環問題及其衍生題目 二、鏈表的合併 原題: 將兩個有序鏈表合併為一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有結點組成的。 示例: 輸入:1-2-4, 1-3-4
Nickname HowieCong
RxJS + Fetch: HTTP 請求的新紀元 Reach 是一個使用 RxJS 和原生 Fetch API 構建的 HTTP Client,它受到 Axios 的啓發。 RxJS 用於實現類似於 Axios 中攔截器的功能,它被稱作管道,是比攔截器更加強大的自定義工具。同時它也儘量使用 Web API 而不是自定義數據類型,這使得它十分的輕量。 它使用起來類似這樣: import { R
Nickname 42
1、PWA應用介紹 PWA 是一種通過現代 Web 技術提供類似原生應用體驗的 Web 應用。它的核心特性包括: 可離線訪問:通過 Service Worker 實現離線緩存快速加載 利用緩存策略加速資源加載可安裝 用户可以將 PWA 添加到主屏幕,像原生應用一樣使用響應式設計 適配各種設備屏幕 PWA 的核心技術包括: Service Worker:用於攔截網絡請求、管理緩存
Nickname PatWu16
1、什麼叫“多個模塊且不包含共享模塊代碼的JS庫”? 假設你現在要在npm上發佈一個js庫,你的庫裏有module1.js、module2.js2個模塊,這2個模塊都依賴了hex.js工具模塊,如果使用普通的 打包模式打包module1.js、module2.js2個模塊,那麼module1.js、module2.js2個模塊中都會包含hex.js工具模塊,這會導致 在項目導入這2個模
Nickname heath_learning
上篇文章整理了PWA離線應用的技術脈絡和注意事項,本篇文章將記錄使用Vue + Workbox + localforage 實現離線應用的實踐過程。 一、Vue工程改造 Vue CLI 提供了一個官方的 PWA 插件,可以快速為 Vue 項目添加 PWA 支持。運行以下命令安裝插件: // 在vue工程目錄下執行如下命令 vue add pwa 安裝完成後,插件會自動生成以下文件: src/
Nickname PatWu16
在現代Web開發的世界裏,React作為構建用户界面的領先庫,經常需要處理各種類型的數據轉換和展示任務。將Word文檔與Markdown文件相互轉換的能力不僅能夠增強用户體驗,還能極大地提高內容管理的效率。這種互轉功能對於那些需要頻繁更新內容或協作編輯的平台尤為重要,比如博客、技術文檔網站或是在線教育平台。通過直接在React應用中實現這一功能,開發者可以為用户提供更加無縫的編輯體驗,使得無論是習
Nickname 大丸子
引言 隨着互聯網的普及和數字化辦公的推進,PDF(Portable Document Format)文件已成為信息交換的重要載體。然而,PDF文件的安全性問題也日益凸顯,尤其是跨站腳本攻擊(Cross-Site Scripting, XSS)的威脅。XSS攻擊通過在PDF文件中嵌入惡意腳本,當用户打開文件時,腳本會在其瀏覽器中執行,可能導致敏感信息泄露、會話劫持等嚴重後果。因此,高效檢測PDF文件
Nickname 霸氣的馬克杯
在網頁開發領域,一個常見的疑問是 CSS 是否會阻塞文檔解析。理解這一問題對於優化網頁性能、提升用户體驗至關重要。要深入解答這個問題,需要從瀏覽器渲染網頁的原理説起。 瀏覽器渲染網頁的基本流程 瀏覽器在接收到 HTML 文檔後,會依次進行以下幾個主要步驟: 解析 HTML:瀏覽器從網絡或本地獲取 HTML 文件,然後開始解析,將 HTML 代碼轉換為 DOM(Document Object M
Nickname 銀之夏雪
摘要 marked.min.js 是一個高效的 JavaScript Markdown 解析器,它能夠將 Markdown 格式的文本轉換為 HTML。作為一個輕量級的庫,marked 在處理大規模的 Markdown 內容時表現出色,並且具備廣泛的兼容性和可定製性。 本文將深入探討如何使用 marked.min.js 來構建一個自定義的 Markdown 解析器,涵蓋其核心功能、配置選項以及如何
Nickname TANKING
官網:https://www.electronjs.org/zh/ 安裝依賴 初始化package.json pnpm init 安裝依賴 pnpm add -D electron 安裝報錯解決方案:https://blog.csdn.net/qq_38463737/article/details/140277803 1、打開npm的配置文件 # cmd 運行打開配置文件 npm confi
Nickname 兔子先森
現狀:Threejs官方demo提供了DragControls.js平面拖拽控件,但只能拖拽Object在垂直於相機法線的平面上移動 目標場景:在六面體空間盒子中沿着六面體平面拖拽物體,並且需要限制在盒子內部 已知:空間盒子大小,對象所在的平面 方案設計: 將Object拖拽依賴的信息放在userData中,示例如下 基於拖拽控件,改造部分關鍵代碼,實現目標 // 模型對
Nickname PatWu16
我們一般使用electron-builder對electron項目進行打包,在package.json中配置打包的詳細操作 pnpm install electron-builder -D package.json中的詳細字段解釋: "build": { "appId": "your.id", // 應用的唯一ID "productName": "YourProductName"
Nickname 兔子先森
當你需要將一個vue項目打包成electron時,只需要正常的安裝electron依賴、electron-builder依賴,正常的配置好主進程、預加載腳本、渲染進程即可。 依賴安裝 這裏默認你已經寫好了一個vue項目,腳手架為vite,然後需要打包成electron。 安裝electron pnpm add -D electron 安裝electron打包依賴 pnpm install e
Nickname 兔子先森
大家好,我是 V 哥。React Native 是 Facebook 開發的一個開源框架,用於使用 JavaScript 和 React 構建原生移動應用。它允許開發者使用相同的代碼庫為 iOS 和 Android 平台創建高性能、美觀的應用程序。本文將介紹 React Native 的核心技術知識點,幫助初學者快速入門。 1. 環境搭建 在開始使用 React Native 之前,需要搭建開發環
Nickname 威哥愛編程
夙夜小哥這幾天有個項目前端人手不夠,要我支援幾天。我本人之前是寫後端的,在支援的過程中發現前端對JavaScript或者typescript的方法提示以及代碼導航功能都比較弱,可能是由於js本身屬於弱類型語言,所以這波並不屬於VSCode的鍋。 但是我又發現好像VSCode不進行配置的話,沒法直接使用調試功能,好傢伙,這下讓我一頓上網衝浪百度+谷歌,翻來翻去感覺網友都沒有寫在點子上,最後還是
Nickname 月半大熊貓
這種報錯是ico資源文件出錯導致的,可以看看gitHub對此問題的解釋:https://github.com/electron-userland/electron-builder/issues/3889 上圖中打包的logo.ico資源文件格式不對,看起來資源文件後綴是.ico實際上是png格式,你有可能是在一些網站將png轉換為ico,它沒有被正常的轉換為ico,只是將資源文件的後
Nickname 兔子先森
這種打包報錯實際上是缺少對應文件,由於electron在打包時會下載資源,有些資源需要科學上網,所以正常打包網速過慢會導致資源丟失。 像上圖報錯,很明顯是丟失winCodeSign-2.6.0資源,所以我們需要去下載對應資源 資源下載鏈接:https://github.com/electron-userland/electron-builder-binaries/release
Nickname 兔子先森