【JS】foreach 返回undefined 留坑

foreach 返回undefined 留坑

那年发布于 今天 07:59

封装方法 获取浏览器参数,但是使用了foreach 循环后,调用方法打印就是undefined
原代码:

export function getUrlParams(parNmae) {

let pramSplitStr = location.hash.split("#/")[1].split("?")[1];

if(!pramSplitStr) return;

let resultParNameStr = pramSplitStr.split("&");

resultParNameStr.forEach(el => {

let pranItem = el.split('=');

if (parNmae == pranItem[0]) {

return pranItem[1]

} else {

return null

}

})

解决替换成find 就好了

// 获取浏览器指定参数  (带hash的)

export function getUrlParams(parNmae) {

let pramSplitStr = location.hash.split("#/")[1].split("?")[1];

if(!pramSplitStr) return;

let resultParNameStr = pramSplitStr.split("&");

let ret = resultParNameStr.find(el => {

let pranItem = el.split('=');

return parNmae == pranItem[0]

})

let handleOpt = ret.split('=')

return handleOpt[1]

}

forEach() 方法为每个数组元素调用一次函数(回调函数)。
原因:
forEach没有返回值,只针对每个元素调用func。
forEach()无法在所有元素遍历完前,终止遍历,或者return 跳出当前循环,
这样的话,使用return失效,空循环就会显示undefined

javascriptforeach

阅读 34发布于 今天 07:59

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

avatar

那年

73 声望

6 粉丝

0 条评论

得票时间

avatar

那年

73 声望

6 粉丝

宣传栏

封装方法 获取浏览器参数,但是使用了foreach 循环后,调用方法打印就是undefined
原代码:

export function getUrlParams(parNmae) {

let pramSplitStr = location.hash.split("#/")[1].split("?")[1];

if(!pramSplitStr) return;

let resultParNameStr = pramSplitStr.split("&");

resultParNameStr.forEach(el => {

let pranItem = el.split('=');

if (parNmae == pranItem[0]) {

return pranItem[1]

} else {

return null

}

})

解决替换成find 就好了

// 获取浏览器指定参数  (带hash的)

export function getUrlParams(parNmae) {

let pramSplitStr = location.hash.split("#/")[1].split("?")[1];

if(!pramSplitStr) return;

let resultParNameStr = pramSplitStr.split("&");

let ret = resultParNameStr.find(el => {

let pranItem = el.split('=');

return parNmae == pranItem[0]

})

let handleOpt = ret.split('=')

return handleOpt[1]

}

forEach() 方法为每个数组元素调用一次函数(回调函数)。
原因:
forEach没有返回值,只针对每个元素调用func。
forEach()无法在所有元素遍历完前,终止遍历,或者return 跳出当前循环,
这样的话,使用return失效,空循环就会显示undefined

以上是 【JS】foreach 返回undefined 留坑 的全部内容, 来源链接: www.h5w3.com/114390.html

回到顶部