微信小程序之算法查询

算法查询

1、字符串是否包含某个字符
2、数组是否包含某个字符
3、对象中是否包含某个字符
4、数组中有多个对象,查找对象中的对象是否包含某个字符
5、数组中有多个对象,查找对象中是否包含某个字符

最后,代码如下:

const app = getApp()

Page({
  data: {
    /******一、数组********* */
    arr: [123, {
      id: 2,
      value: '测试'
    }, '结果'],
    /******二、对象********* */
    object1: {
      id: 1,
      value: '柳州',
      code: 4545,

      obj: {
        id: 2,
        value: '桂林',
        code: 4544,
      },
      obj1: {
        id: 3,
        value: '南宁',
        code: 4546,
      },
    },
    /******三、复杂的数组********* */
    children: [{
        "value": 450202,
        "label": "城中区",
        "children": [{
            "value": 450202105,
            "label": "河东街道"
          },
          {
            "value": 450202107,
            "label": "沿江街道"
          },
          {
            "value": 450202004,
            "label": "潭中街道"
          },
          {
            "value": 450202102,
            "label": "公园街道"
          },
          {
            "value": 450202103,
            "label": "中南街道"
          },
          {
            "value": 450202101,
            "label": "城中街道"
          },
          {
            "value": 450202106,
            "label": "静兰街道"
          }
        ],
        "count": 0
      },
      {
        "value": 450203,
        "label": "鱼峰区",
        "children": [{
            "value": 450203001,
            "label": "天马街道"
          },
          {
            "value": 450203002,
            "label": "驾鹤街道"
          },
          {
            "value": 450203005,
            "label": "荣军街道"
          },
          {
            "value": 450203003,
            "label": "箭盘山街道"
          },
          {
            "value": 450203004,
            "label": "五里亭街道"
          },
          {
            "value": 450203007,
            "label": "白莲街道"
          },
          {
            "value": 450203008,
            "label": "麒麟街道"
          },
          {
            "value": 450203009,
            "label": "白沙镇"
          },
          {
            "value": 450203010,
            "label": "里雍镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450205,
        "label": "柳北区",
        "children": [{
            "value": 450205010,
            "label": "雅儒街道"
          },
          {
            "value": 450205013,
            "label": "锦绣街道"
          },
          {
            "value": 450205014,
            "label": "跃进街道"
          },
          {
            "value": 450205008,
            "label": "解放街道"
          },
          {
            "value": 450205009,
            "label": "胜利街道"
          },
          {
            "value": 450205011,
            "label": "雀儿山街道"
          },
          {
            "value": 450205000,
            "label": "柳长街道"
          },
          {
            "value": 450205007,
            "label": "钢城街道"
          },
          {
            "value": 450205003,
            "label": "白露街道"
          },
          {
            "value": 450205006,
            "label": "石碑坪镇"
          },
          {
            "value": 450205005,
            "label": "长塘镇"
          },
          {
            "value": 450205004,
            "label": "沙塘镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450204,
        "label": "柳南区",
        "children": [{
            "value": 450204002,
            "label": "柳南街道"
          },
          {
            "value": 450204004,
            "label": "潭西街道"
          },
          {
            "value": 450204008,
            "label": "河西街道"
          },
          {
            "value": 450204007,
            "label": "鹅山街道"
          },
          {
            "value": 450204006,
            "label": "南站街道"
          },
          {
            "value": 450204003,
            "label": "南环街道"
          },
          {
            "value": 450204005,
            "label": "柳石街道"
          },
          {
            "value": 450204009,
            "label": "银山街道"
          },
          {
            "value": 450204001,
            "label": "太阳村镇"
          },
          {
            "value": 450204010,
            "label": "流山镇"
          },
          {
            "value": 450204011,
            "label": "洛满镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450206,
        "label": "柳江区",
        "children": [{
            "value": 450206013,
            "label": "拉堡镇"
          },
          {
            "value": 450206011,
            "label": "穿山镇"
          },
          {
            "value": 450206004,
            "label": "成团镇"
          },
          {
            "value": 450206010,
            "label": "进德镇"
          },
          {
            "value": 450206003,
            "label": "百朋镇"
          },
          {
            "value": 450206008,
            "label": "三都镇"
          },
          {
            "value": 450206009,
            "label": "里高镇"
          },
          {
            "value": 450206012,
            "label": "土博镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450228,
        "label": "北部生态新区",
        "children": [{
          "value": 450228001,
          "label": "阳和街道"
        }],
        "count": 0
      },
      {
        "value": 450227,
        "label": "柳东新区",
        "children": [{
            "value": 450227001,
            "label": "雒容镇"
          },
          {
            "value": 450227002,
            "label": "洛埠镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450223,
        "label": "鹿寨县",
        "children": [{
            "value": 450223101,
            "label": "平山镇"
          },
          {
            "value": 450223100,
            "label": "中渡镇"
          },
          {
            "value": 450223104,
            "label": "寨沙镇"
          },
          {
            "value": 450223102,
            "label": "鹿寨镇"
          },
          {
            "value": 450223200,
            "label": "黄冕镇"
          },
          {
            "value": 450223201,
            "label": "江口乡"
          },
          {
            "value": 450223202,
            "label": "导江乡"
          },
          {
            "value": 450223205,
            "label": "四排镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450225,
        "label": "融水县",
        "children": [{
            "value": 450225100,
            "label": "融水镇"
          },
          {
            "value": 450225101,
            "label": "和睦镇"
          },
          {
            "value": 450225103,
            "label": "怀宝镇"
          },
          {
            "value": 450225102,
            "label": "三防镇"
          },
          {
            "value": 450225110,
            "label": "大浪乡"
          },
          {
            "value": 450225201,
            "label": "永乐镇"
          },
          {
            "value": 450225202,
            "label": "四荣乡"
          },
          {
            "value": 450225203,
            "label": "香粉乡"
          },
          {
            "value": 450225210,
            "label": "安陲乡"
          },
          {
            "value": 450225214,
            "label": "汪洞乡"
          },
          {
            "value": 450225207,
            "label": "同练瑶族乡"
          },
          {
            "value": 450225208,
            "label": "滚贝侗族乡"
          },
          {
            "value": 450225209,
            "label": "杆洞乡"
          },
          {
            "value": 450225204,
            "label": "安太乡"
          },
          {
            "value": 450225205,
            "label": "洞头镇"
          },
          {
            "value": 450225111,
            "label": "大浪镇"
          },
          {
            "value": 450225120,
            "label": "白云乡"
          },
          {
            "value": 450225213,
            "label": "红水乡"
          },
          {
            "value": 450225214,
            "label": "拱洞乡"
          },
          {
            "value": 450225216,
            "label": "大年乡"
          },
          {
            "value": 450225215,
            "label": "良寨乡"
          }
        ],
        "count": 0
      },
      {
        "value": 450224,
        "label": "融安县",
        "children": [{
            "value": 450224200,
            "label": "雅瑶乡"
          },
          {
            "value": 450224201,
            "label": "大坡乡"
          },
          {
            "value": 450224206,
            "label": "东起乡"
          },
          {
            "value": 450224204,
            "label": "桥板乡"
          },
          {
            "value": 450224205,
            "label": "沙子乡"
          },
          {
            "value": 450224207,
            "label": "潭头乡"
          },
          {
            "value": 450224103,
            "label": "板榄镇"
          },
          {
            "value": 450224104,
            "label": "大将镇"
          },
          {
            "value": 450224100,
            "label": "长安镇"
          },
          {
            "value": 450224101,
            "label": "浮石镇"
          },
          {
            "value": 450224102,
            "label": "泗顶镇"
          },
          {
            "value": 450224105,
            "label": "大良镇"
          }
        ],
        "count": 0
      },
      {
        "value": 450222,
        "label": "柳城县",
        "children": [{
            "value": 450222010,
            "label": "冲脉镇"
          },
          {
            "value": 450222001,
            "label": "大埔镇"
          },
          {
            "value": 450222002,
            "label": "东泉镇"
          },
          {
            "value": 450222003,
            "label": "凤山镇"
          },
          {
            "value": 450222004,
            "label": "六塘镇"
          },
          {
            "value": 450222005,
            "label": "龙头镇"
          },
          {
            "value": 450222014,
            "label": "马山镇"
          },
          {
            "value": 450222007,
            "label": "沙埔镇"
          },
          {
            "value": 450222009,
            "label": "社冲乡"
          },
          {
            "value": 450222006,
            "label": "太平镇"
          },
          {
            "value": 450222013,
            "label": "寨隆镇"
          },
          {
            "value": 450222011,
            "label": "古砦仫佬族乡"
          }
        ],
        "count": 0
      },
      {
        "value": 450226,
        "label": "三江县",
        "children": [{
            "value": 450226101,
            "label": "丹洲镇"
          },
          {
            "value": 450226102,
            "label": "斗江镇"
          },
          {
            "value": 450226100,
            "label": " 古宜镇"
          },
          {
            "value": 450226210,
            "label": "林溪镇"
          },
          {
            "value": 450226207,
            "label": "富禄苗族乡"
          },
          {
            "value": 450226203,
            "label": "老堡乡"
          },
          {
            "value": 450226204,
            "label": "高基瑶族乡"
          },
          {
            "value": 450226208,
            "label": "梅林乡"
          },
          {
            "value": 450226205,
            "label": "良口乡"
          },
          {
            "value": 450226206,
            "label": "洋溪乡"
          },
          {
            "value": 450226201,
            "label": "程村乡"
          },
          {
            "value": 450226202,
            "label": "和平乡"
          },
          {
            "value": 450226212,
            "label": "同乐苗族乡"
          },
          {
            "value": 450226209,
            "label": "八江镇"
          },
          {
            "value": 450226110,
            "label": "独峒乡"
          }
        ],
        "count": 0
      }
    ]

  },
  onLoad: function () {

    var string = " ABC DEF GHI "
    console.log('=1==字符串是否包含某个字符=', this.isInclude(string, 'ABC'))

    console.log('=2==数组是否包含某个字符=', this.isInclude(this.data.arr, '结果'))

  

    console.log('=3==对象中是否包含某个字符=', this.isInclude_obj(this.data.object1, '桂林'))

    console.log('=4==数组中有多个对象,查找对象中的对象是否包含某个字符=', this.code_Townname(this.data.children, 450202103))
    
    console.log('=5==数组中有多个对象,查找对象中是否包含某个字符=', this.code_Regionname(this.data.children, 450205))

  },

  /**
   * 1、判断字符串是否包含某些字符
   * 2、判断数组里是否包含某些字符
   * 
   * @param {*} str 
   * @param {*} val 
   */
  isInclude(str, val) {
    return str.indexOf(val) != -1 ? true : false
  },

  /**
   * 判断对象里是否包含某个字符串
   * (先把对象转字符串再比较)
   * @param {*} obj 
   * @param {*} val 
   */
  isInclude_obj(obj, val) {
    return JSON.stringify(obj).indexOf(val) != -1 ? true : false
  },


  /**
   * 镇code转成具体地址
   * addressInfo是从全局变量address_liuzhou获取 或者getAddressInfo这个接口获得
   */
  code_Townname(addressInfo, code) {
    for (let j = 0; j < addressInfo.length; j++) {
      for (let i = 0; i < addressInfo[j].children.length; i++) {
        // console.log('查找中:', that.data.addressInfo[j].children[i].value)
        if (code == addressInfo[j].children[i].value) {
          console.log('镇已经找到', addressInfo[j].children[i].label)
          return addressInfo[j].children[i].label
        }
      }
    }
    console.log('镇code没有找到')
    return ''

  },

  /**
   * 区code转成具体地址
   * addressInfo是从全局变量address_liuzhou获取 或者getAddressInfo这个接口获得
   */
  code_Regionname(addressInfo, code) {
    for (var i = 0; i < addressInfo.length; i++) {
      if (code == addressInfo[i].value) {
        console.log('区已经找到', addressInfo[i].label)
        return addressInfo[i].label
      }
    }
    console.log('区code没有找到')
    return ''
  }




})

猜你喜欢

转载自blog.csdn.net/wy313622821/article/details/107643569