使用new RegExp()实例对象
eg:
const Schema = mongoose.model("modelName")
let reg = new RegExp("查询关键词")
awati Schema.fine || where(say:reg).exec().then(res=>{
成功回调})
.catch(err=>{
失败回调
})
eg:
var arr = ['草莓','苹果']
newArr = []
for(var i = 0;i<arr.length;i++){
if(arr[i].indexOf('草')>=0){
newArr.push(arr[i])
}
console.log(newArr) //// [草莓]
}
两种方法es5通过indexOf(),es6通过map()、...拓展运算符等
// 接口数据
var resObj = [{id:1},{id:0},{id:2}]
// 自己定义数组
selfObj = [
{id:0,name:'灯'},
{id:1,name:'无线开关'},
{id:2,name:'空调'},
]
resArr = []
selfArr = []
//期望:给接口数据添加name字段 需要跟自己定义的数组id 对应起来
//例如:接口数据 id为0的的对象 添加name为灯
// id为1的的对象 添加name为无线开关
resObj.forEach(function(e){resArr.push(e.id)})
selfObj.forEach(function(e){selfArr.push(e.id)})
console.log(resArr)
for(var i =0;i<selfArr.length;i++){
//遍历出自定义数组每一个id 在接口 id 数组中的位置
// 接口id.indexOf(每一个数组Id) 返回每一个自定义数组id在接口数组id中的位置
//然后通过这个的位置 去给接口数组添加name字段 添加的内容为:这个位置下自定义数组的name
var index = resArr.indexOf(selfArr[i])
//添加字段
resObj[i].name = selfObj[index].name
}
console.log(resObj)
//方案2 通过自定义数组 映射新的对象 id为key name为值
var newObj = {};
selfObj.forEach( item => { newObj[item.id] = item.name})
console.log(newObj)
// 一个是空箭头函数,一个是箭头函数返回一个空对象
// 返回一个空对象:map(ele=>({}))
// 空的箭头函数: map(ele=>{})
// 方式1
resObj = resObj.map(ele =>({...ele,name:newObj[ele.id]}))
// 方式2
resObj = resObj.map(ele=>{return {...ele,name:newObj[ele.id]}})
// 两种方式结果是一样的
console.log(resObj)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有