随笔分类 - 手写原生js
摘要:答:防抖:用户触发事件过于频繁,只要最后一次事件的操作 function debounce(fn, t1){ let t = null return function () { if (t) clearTimeOut t t = setTimeOut( (this) => { fn.call(thi
阅读全文
摘要:数组去重 1. 双重for循环 var arr = [{name: 'a',id: 1}, {name: 'a',id: 2}, {name: 'b',id: 3}, {name: 'c',id: 4}, {name: 'c',id: 6}, {name: 'b',id: 6}, {name: 'd
阅读全文
摘要:1 将数组处理成tree结构 let treeData = [{ id: 1, pid: 0, name: '中国' },{ id: 2, pid: 0, name: '美国' }, { id: 3, pid: 1, name: '上海' }, { id: 4, pid: 1, name: '深圳'
阅读全文
摘要:let arr = [2, 4, 3, 6, 5] // 冒泡排序 function sort (arr) { for (let i = 0; i < arr.length; i++) { for (let j = 0; j< arr.length - 1 - i; j++) { if (arr[j
阅读全文
摘要:let obj = { job: { address: 'shenzhen', salary: '20k' }, name: 'zhang', age: 22 } // 第一种(函数和正则不可以) // let obj1 = JSON.parse(JSON.stringify(obj)) // ob
阅读全文
摘要:function f1 (url) { return new Promise(resolve => { resolve(url) }) } function maxPromiseLimit (arr, max, callback) { // 如果没有传入arr或max则不继续执行 if (!arr
阅读全文
摘要:function Promise (excutor) { this.promiseState = 'pending' this.promiseResult = null let self = this this.callbacks = [] function resolve (data) { if(
阅读全文
摘要:let arr = [1,2,2,3,4,2,5,7,1,4,2,5,6,3,7,3,5,4,3,] // 第一种 双重for和splice截取 // function unique (arr) { // for(let i = 0; i<arr.length;i++){ // for(let j
阅读全文
摘要:// 普通数组去重 let arr = [1,2,3,4,2,3,1,4,5,6,6,7] let ar1 = [...new Set(arr)] (注意:需要用展开运算符) 2.(从小到大排序,有重复的会挨着) arr.sort((a, b) ⇒ { return a-b }) let ar2 =
阅读全文