适配器模式 小demo

巧了我就是萌 提交于 2019-12-02 12:44:57

适配器模式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
   <script>

       //适配器模式的实现
       // 首先有一个老的数据渲染的方法

       function getCity(){
           var city = [
               {
                   id:0,
                   name:'南山区'
                },{
                    id:1,
                    name:'龙岗区',
                }
           ]
           return city;
       }
       // 渲染数据的方法 
       function render(fn){
           console.log('开始数据的渲染');
           document.write(JSON.stringify(fn()))
       }
       render(getCity);

       //创建一个适配新老数据的方法
       function addressAdapter (oldData){

        //首先拿到新数据和老数据
        var address = {'福田区':2, '宝安区':3};
        oldAdress = oldData();
        //通过遍历将老数据和新数据合并 并采用新数据的结果存储
        for (var i = 0; i<oldAdress.length; i++){
             var obj = oldAdress[i];
             address[obj.name] = obj.id;
        }
        //返回一个函数 方便数据的渲染
        return function (){
            return address;
        }
       }
       //调用渲染的方法
       render(addressAdapter(getCity));
        




</script>
</body>
</html>

不足之处敬请校正

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!