一、三目运算符
基础版:
let a=8,b=-9,c=0;
//三目写法
b>a0?c=1:c=2;
//转换成if写法是这样的
if(b>a){
c=1
}else{
c=2
}
console.log(c)
进阶版:
let a=8,b=-9,c=0;
//三目写法
b>a?b>0?c=1:c=2:c=3;
//转换成if写法是这样的
// if(b>a){
// c=1
// }else if(b>0){
// c=2
// }else{
// c=3
// }
console.log(c)
参考:https://www.jianshu.com/p/7e272416fcdd
二、elementui input只能输入数字
<el-input
onkeyup="this.value = this.value.replace(/[^\d.]/g,'');"
maxlength="8"
>
限制输入数字,且长度最大为8
</el-input>
三、JS 浮点数计算 Bug 处理
加:2.2+2.1
function add(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
}
减:1.4-1.1
function sub(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
}
乘:2.2*2.2
function mul(a, b) {
var c = 0,
d = a.toString(),
e = b.toString();
try {
c += d.split(".")[1].length;
} catch (f) {}
try {
c += e.split(".")[1].length;
} catch (f) {}
return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
}
除:2.1/0.3
function div(a, b) {
var c, d, e = 0,
f = 0;
try {
e = a.toString().split(".")[1].length;
} catch (g) {}
try {
f = b.toString().split(".")[1].length;
} catch (g) {}
return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
}
参考自:https://www.jianshu.com/p/7381a2369bd2
四、npm 时 -D和-S的区别
npm install 依赖 (已经安装上了 , 但在package.json 中没有,不能通过npm i 安装)
npm install 依赖 --save (已安装,依赖包的名称在package.json的dependencies中, 可通过npm i 安装)
npm install 依赖 --save-dev (已安装,依赖包的名称在package.json的devDependencies中, 可通过npm i 安装)
dependencies 和 devDependencies区别
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。
五、获取url参数
const getQueryVariable = () => {
const query = window.location.search.substring(1),
vars = query.split('&'),
obj = {};
for (const i in vars) {
let pair = vars[i].split('=');
obj[pair[0]] = pair[1];
}
return obj;
};
//如:http://0.0.0.0:9000/details.html?proId=D1785C412E38C06CED&flag=1
//{flag: "1",processId: "D1785C412E38C06CED"}
六、数组求差集并集
普通数组
var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var b = [1, 2, 3, 4, 5]
let arrDiff = a.filter((key) => !b.includes(key))//差集
let arrInter = a.filter((key) => b.includes(key))//交集
对象数组
var arr1 = [
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' },
{ id: 4, name: 'd' },
]
var arr2 = [
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
]
//差集
let arrDiff = [...arr1].filter((x) => [...arr2].every((y) => y.id !== x.id))
//交集
let arrInter = [...arr1].filter((x) => [...arr2].some((y) => y.id === x.id))
网友评论