zoukankan      html  css  js  c++  java
  • 用来枚举属性的对象工具函数

    1.把p中可枚举的属性赋值到o,并返回o(若o和p中有同名属性则覆盖)

    function extend(o,p){
          for(prop in p){
               o[prop]=p[prop]
          }
          return o
    }
    

    2.把p中可枚举的属性赋值到o,并返回o(若o和p中有同名属性,o不受影响)  

    function merge(o,p){
          for(prop in p){
               if(o.hasOwnProperty[prop]) continue
               o[prop]=p[prop]
          }
          return o
    }
    

    3.如果o中属性在p中没有同名属性,则从o中删除这个属性

    function restrict(o,p){
          for(prop in o){
               if(!(prop in p))  delete o[prop]
          }
          return o
    }
    

    4.如果o中属性在p中存在同名属性,则从o中删除这个属性

    function subtract(o,p){
          for(prop in p){
               delete o[prop]
          }
          return o
    }
    

    5.返回一个新对象,这个对象拥有同时在o和p中出现的属性,如果o和p中有重名属性,使用p中属性值

    function union(o,p){
       return extend(extend({},o),p)
    }
    

    6.返回一个新对象,这个对象拥有同时在o和p中出现的属性,p中的属性值被忽略  

    function intersection(o,p){
       return restrict(extend({},o),p)
    }
    

    7.返回一个数组,这个数组是o中可枚举的自有属性的名字  

    function keys(o){
      if(type of  o !== "object")  throw TypeError()
      var result = []
      for(var  prop in o){
        if(o.haOwnProperty(prop))
                    result.push(prop)
       } 
       return result
    }
    

      

      

      

      

  • 相关阅读:
    动手篇:简易的首页登陆界面
    情感交流篇:HTML页面如何与后端联系
    MD5加密处理
    处女篇:自用C#后端SqlHelper.cs类
    动手篇:简单的注册界面与防SQL注入(续)
    十二省联考2019 字符串问题
    PKUWC2020游记
    uoj435 Simple Tree
    CF1303G Sum of Prefix Sums
    AGC069F Flags
  • 原文地址:https://www.cnblogs.com/wangxiayun/p/8086026.html
Copyright © 2011-2022 走看看