函数组件没有options怎么获取路由携带的参数的
// 页面的传递参数
navigateTo({
url: `/pages/answerQues/index?index=${index}`,
});
// URL地址参数的获取
useEffect(() => {
const num = getCurrentInstance().router?.params.index
console.log('num',num)
})
taro中微信授权用户昵称和头像
<Button
open-type='getUserInfo'
onGetUserInfo={getUserProfile1.bind(this, 1)}
>
微信用户一键绑定
</Button>
以上这种经常获取不到用户授权信息的弹窗
我们可以用以下这种方式
<Button
onClick={getUserProfile1.bind(this, 1)}
>
微信用户一键绑定
</Button>
// 使用taro的时间getUserProfile进行调用微信用户信息授权弹框
const getUserProfile1= (num,e)=>{
getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (response) => {
console.log('调取wx.getUserProfile弹窗',response)
if (e.detail.errMsg == 'getUserInfo:fail auth deny') {
return
}
wx.login({
success: res => {
setcode(res.code)
wx.request({
url: getUserInfo,
method: 'POST',
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
data: {
code:res.code,
encryptedData: response.encryptedData,
iv: response.iv,
userInfoId:portalUserId,
},
success: (res)=> {
·······
},
});
}
})
},
fail: (response)=> {
console.log('调取wx.getUserProfile弹窗失败',response)
Taro.showToast({title:'调取微信授权失败,请重试', icon:'none'})
}
})
}
正则中match无法输入变量
//计算str中char字符出现的个数
function lengthChar(char, str){
let arr = str.match(/\`${char}\`/ig)
let arr = str.match(reg)
console.log(arr.length)
}
打印值都是null 因为无论你怎么写,都会被当作正则的一部分来处理
function lengthChar(char, str){
let reg = new RegExp(`${char}`, 'ig')
// let arr = str.match(/\`${char}\`/ig)
let arr = str.match(reg)
console.log(arr.length)
}
lengthChar(char, str)
原题:
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
const str = readline();
const char = readline();
// 方法一:for循环
// function lengthChart(char, str){
// // 全部转小写
// const charlower = char.toLowerCase()
// const strlower = str.toLowerCase()
// // 定义
// let length = 0
// for(let i = 0;i<=strlower.length;i++){
// if(strlower[i]==charlower){
// length++
// }
// }
// return length
// }
// console.log(lengthChart(char, str))
//方法二:正则
// function lengthChar(char, str){
// let reg = new RegExp(`${char}`, 'ig')
// // let arr = str.match(/\`${char}\`/ig)
// let arr = str.match(reg)
// console.log(arr.length)
// }
// lengthChar(char, str)
// 方法三 递归
let length=0
function lengthChar(char, str){
let charlower = char.toLowerCase()
let strlower = str.toLowerCase()
let index = strlower.indexOf(charlower)
if(index!='-1'){
length++
return lengthChar(charlower, strlower.substring(index+1))
}else{
return
}
}
lengthChar(char, str)
console.log(length)