js-判断android,ios,pc三端环境
用了个复杂的一句话写法替代if判断
function getPlatform () {
let u = navigator.userAgent
const isAndroid = u.indexOf('Android') > - 1 || u.indexOf('Adr') > -1
const isIos = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
if(isAndroid) {
return 'android'
} else if (isIos) {
return 'ios'
} else {
return 'pc'
}
}
function getPlatform () {
const u = navigator.userAgent
const m = new Map([
[
() => !~~u.indexOf('Android') || !~~u.indexOf('Adr'),'android'
],
[
() => !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),'ios'
],
[()=>true, 'pc']
])
return [...m].map(([f,r]) => f() && r).filter(v=>v).toString()
}
getPlatform()
function getPlatform () {
const u = navigator.userAgent
const m = new Map([
[
() => !~~u.indexOf('Android') || !~~u.indexOf('Adr'),'android'
],
[
() => !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),'ios'
],
[()=>true, 'pc']
])
return [...m].find(([f,_]) => f()).slice(1).toString()
}
getPlatform()