原创 #99 safeGet

有時候我們需要訪問一個對象較深的層次,但是如果這個對象某個屬性不存在的話就會報錯,例如: var data = { a: { b: { c: 'ScriptOJ' } } } data.a.b.c // => scriptoj data

原创 #83 filter map

Map.prototype.filterKeys = function(fn) { return new Map([...this].filter(([k, v]) => { return fn(k); })); }

原创 #98 判斷兩個矩形是否重疊

用一個對象的數據來表示一個矩形的位置和大小: { x: 100, y: 100, width: 150, height: 250 } 它表示一個寬爲 150 高爲 250 的矩形在頁面上的 (100, 100) 的位置

原创 默認div寬度和高度

默認情況下任何元素標籤都是有寬度css樣式的。 一、認識div默認寬度 div默認的寬度多少? 答案:默認寬度爲100%,父級寬度多少它寬度就多少。   比如一個盒子寬度設置550px,裏面一個div默認未設置寬度和未設置float,未設

原创 vue-cli 3.0配置vue.config.js解決跨域問題

在遇到跨域請求外部數據遇到的問題得到一些總結。 在vue3.0中解決跨域需要配置vue.config.js(在根目錄下創建vue.config.js);配置如下: module.exports = { runtimeCompil

原创 #22 獲取子元素屬性

完成 getChildAttributes 函數,它接受一個 DOM 元素作爲參數和一個屬性名作爲參數,你需要返回這個 DOM 的 直接 子元素的特定屬性列表。例如: <ul id='list'> <li data-name="Je

原创 #97 類名操作

完成幾個 DOM 元素類名操作的工具方法: addClass(dom, name):給 dom 元素添加類名 name removeClass(dom, name):把 dom 元素的類名 name 刪除 hasClass(dom, na

原创 #49 時間停止

pause 函數可以讓一個函數暫停運行一段時間(ms)以後繼續運行。例如: async function run () { console.log('Hello') await pause(1000) // 續一秒 cons

原创 #25 李雷向韓梅梅求婚

李雷向韓梅梅求婚,韓梅梅說過一段時間(20~50ms)再回復他。 完成 proposeToMissHan 函數,會傳入一個布爾值參數 isOK,用來預先設定是否答應李雷的求婚。這個函數會返回一個 Promise,一段時間(20~50ms)

原创 #89 數組去重 (by 陳 陳小俊 )

編寫一個函數 unique(arr),返回一個去除數組內重複的元素的數組。例如: unique([0, 1, 2, 2, 3, 3, 4]) // => [0, 1, 2, 3, 4] unique([0, 1, '1', '1', 2

原创 JavaScript中&&與||的獨特用法

在JavaScript中,&& 和||不僅用於 boolean 類型也用於對象。 &&: 如果&&左側是爲 false ,那麼直接返回 false。 console.log(false&&true);//false console.l

原创 Vue通過Render向子組件中傳遞作用域插槽

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test_render</title> <script src="js/vue.js" type="t

原创 92. 反轉鏈表 II

92. 反轉鏈表 II 難度中等323收藏分享切換爲英文關注反饋 反轉從位置 m 到 n 的鏈表。請使用一趟掃描完成反轉。 說明: 1 ≤ m ≤ n ≤ 鏈表長度。 示例: 輸入: 1->2->3->4->5->NULL, m = 2

原创 Vue 混入mixin

基礎 混入提供了一種非常靈活的方式,來分發Vue組件中的可複用功能。一個混入對象可以包含任意組件選項。當組件使用混入對象時,所有混入對象的選項將被“混合”進入該組件本身的選項。 例子: const myMixin

原创 #96 spacify

請你給字符串都添加上原型方法 spacify,可以讓一個字符串的每個字母都多出一個空格的間隔: "ScriptOJ".spacify() // => "S c r i p t O J" (本題來源:http://blog.sourci