Open jajaplus opened 5 years ago
https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/1/array/29/
(对象可以直接通过key来进行查找,把数组的值存在对象里面就可以进行快速的便利寻找,对象的key有特别的含义/throw error的计算消耗比计算更多,不用在循环里面抛出错误,会更加消耗性能) /** * @param {number[]} nums * @param {number} target * @return {number[]} */ // var twoSum = function(nums, target) { // let indexs = [] // nums.forEach((num,index)=>{ // for(let i = index+1;i<=nums.length;i++){ // if(num+nums[i]===target){ // indexs = [index,i] // } // } // }) // return indexs // }; var twoSum = function(nums, target) { const obj = {} for (let i = 0; i < nums.length; i++) { if (obj[target - nums[i]] !== undefined) return [obj[target - nums[i]], i] obj[nums[i]] = i } };
https://www.freecodecamp.org/news/delivering-a-big-project-to-a-tight-deadline-4645aa62886d/
1.generator会遍历整个对象,找出其中的yeild字段 2.generator返回一个遍历器({value,done},值为yeild紧跟的表达式和是否执行完成),每次执行一次next会停顿在yeild语句前,语句不会立即执行 3.首次的generator只有在执行next后才可以执行第一个语句。与function不同 4.yeild只能用在generator函数里面,foreach不行,但是for语句可以 5.next里面的参数作为yeild的返回值 6.for循环可以遍历generator的所有yeild
算法
https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/1/array/29/
阅读
https://www.freecodecamp.org/news/delivering-a-big-project-to-a-tight-deadline-4645aa62886d/
generator的基本使用(用于回调,可以暂停函数的执行)
1.generator会遍历整个对象,找出其中的yeild字段 2.generator返回一个遍历器({value,done},值为yeild紧跟的表达式和是否执行完成),每次执行一次next会停顿在yeild语句前,语句不会立即执行 3.首次的generator只有在执行next后才可以执行第一个语句。与function不同 4.yeild只能用在generator函数里面,foreach不行,但是for语句可以 5.next里面的参数作为yeild的返回值 6.for循环可以遍历generator的所有yeild
分享