算法查询
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 ''
}
})