Skip to content

Latest commit

 

History

History
78 lines (66 loc) · 1.71 KB

张鹏-20180812.md

File metadata and controls

78 lines (66 loc) · 1.71 KB

leetcode 算法题

两个数组的交集 II

var intersect = function(nums1, nums2) {
    let res1 = {};
    for(let i=0;i<nums1.length;i++){
        if(res1[nums1[i]]) {
            res1[nums1[i]] = res1[nums1[i]]+1
        } else {
            res1[nums1[i]] = 1
        }
    }
    let res2 = {};
    for(let i=0;i<nums2.length;i++){
        if(res2[nums2[i]]) {
            res2[nums2[i]] = res2[nums2[i]]+1
        } else {
            res2[nums2[i]] = 1
        }
    }
    let resArray=[];
    for(let num of Object.keys(res1)) {
        if(res2[num]) {
            let time = Math.min(res1[num],res2[num]);
            for(let i=0;i<time;i++) {
                resArray.push(Number(num))
            }
        }

    }

    return resArray;
};

英文技术文章

React Higher Order Components in depth
React 高阶组件:一个包含另一个组件的 React 组件。

实现高阶组件有两种方式,

  1. 一种是通过代理。
function ppHOC(WrappedComponent) {
  return class PP extends React.Component {
    render() {
      return <WrappedComponent {...this.props}/>
    }
  }
}

通过代理的方式可以实现

  • 修改 props
  • 通过 Refs 获取对象本身实例
  • 抽象 state
  • 用别的组件包含 WrappedComponent
  1. 一种是通过继承。
  function iiHOC(WrappedComponent) {
      return class Enhancer extends WrappedComponent {
        render() {
          return super.render()
        }
      }
  }

通过继承的方式可以实现

  • Render Highjacking
  • 修改state

技术技巧

分享观点