break和continue
break终止当前循环,如果是双重循环,外层循环接着往下走(外层循环的当前次循环尚未终止,也会继续执行内层循环同级的下面的代码)
continue是跳过当前层的当前这一次循环,当前层的循环继续
使用数组中某一项元素的数据进行排序
let arr = [
{ name: 'Bob', age: 22 },
{ name: 'Alice', age: 18 },
{ name: 'Tom', age: 20 }
];
arr.sort((a, b) => {
return a.age - b.age;
});
console.log(arr);
// 输出 [{ name: 'Alice', age: 18 }, { name: 'Tom', age: 20 }, { name: 'Bob', age: 22 }]
远程有多个分支,但是本地只有一个分支,切换分支的方式
字符串比较大小
console.log('19'<'2') //都是数字,比较的是第一位的大小
字符串去重
let arr = sentence.split('') // 先拆成数组
arr = Array.from(new Set(arr))// 使用Set去重,set里面直接放数组就可以,不用解构
解构对象
let obj = { person: { name: 'ls' }, age: 20 }
// let obj2 = {...obj}
let obj2 = JSON.parse(JSON.stringify(obj))
obj.person.name = 'zs'
console.log(obj2)
上面的两种写法的结果是不一样的,因为解构只有表面一层是深拷贝,里面的数据还是浅拷贝。但是json的方式是完全的深拷贝。
若依中框架时间格式处理
scss的样式穿透: "::v-deep"
scss 安装
npm uninstall sass-loader node-sass
npm install sass-loader@8.0.2 sass@1.26.5 --save-dev
scss样式处理
只要外面的父级名字不一样,里面的相同样式就不会被冲突。
第9行,一点要选中亲儿子div,否则孙子等其他div也会被影响
scss选中最后一个盒子
&:last-child
单一样式穿透
.topic {
display: flex;
justify-content: left;
align-items: center;
margin-top: 20px;
// 使用穿透,只改变一个元素的样式,就在类中使用。
::v-deep .el-input--medium .el-input__inner {
height: 53px !important;
}
span {
display: inline-block;
width: 140px;
}
}
透传添加样式没有效果,就增加权重或者去掉scoped(要考虑到样式是否和app同级别)
.change-label-width {
::v-deep .el-form-item__label {
width: 85px !important;
// 注意没有效果就加权重
}
}
</style>
// ! 注意修改popover样式的时候,不要使用scoped,因为popover和app的样式是同级
<style lang="scss">
.popoverClass {
background-color: #ecf8ff;
}
</style>