摘要:
var b = 10; (function b(){ // 'use strict' b = 20 console.log(b) })() 非匿名立即执行函数,函数名不可以修改,严格模式下会TypeError 非严格模式下,不报错,修改也没有用。 查找变量b时,立即执行函数会有内部作用域,会先去查找 阅读全文
摘要:
上面的数据结构中,不同层级的key可能会相同,实现一个方法,调用时更新上面数组的key值,使所有的key对应的值更新为新的随机数,并保证更新前相同的key更新为新值后也依然相同即可。 let data = [{ key:0.1234, child:{ key:0.2352, child:{ key: 阅读全文
摘要:
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 function largestRectangleArea(heights) { let getMinHeight = (start,end) => { let 阅读全文
摘要:
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。 function firstMissingPositive(nums) { if(nums.length == 0){ return 1 } nums.sort((a,b) => a - b) if(nums[0] > 1 || num 阅读全文
摘要:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 function searchInsert(nums, target) { let i; for(i = 0;i < nums.length;i++ 阅读全文
摘要:
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 const searchRange = (nums, target) => { l 阅读全文
摘要:
const changeStr = (str = 'hello-world-aaaa') => { let arr = str.split('-') return arr.map(i => { i = i.replace(i[0], i[0].toUpperCase()) return i }).j 阅读全文
摘要:
/** * 数组压平 */ const flatByWhile = (arr = [1,[2,4],[4], [43,2,[444,1,[54]]], [22,3,[4]], 32], deep = 1) => { while(arr.some(Array.isArray) && deep > 0) 阅读全文
摘要:
事实上,程序中现在运行的部分和将来运行的部分之间的关系就是异步编程的核心。 我们现在发出的一个异步ajax请求,在将来才能得到返回的结果。 从现在到将来的等待最简单的方法(但绝对不是唯一的,甚至也不是最好的!)是使用一个通常称为回调函数的函数。 任何时候,只要把一段代码包装成一个函数,并指定它在响应 阅读全文
摘要:
通过下标求值 生成数组 function fib(index){ let arr = [1,1] for(let i = 2;i < index + 1;i++){ arr.push(arr[i - 1] + arr[i - 2]) } return arr[index] } 未生成数组 funct 阅读全文