开发笔记03

71 阅读1分钟

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 }]

远程有多个分支,但是本地只有一个分支,切换分支的方式

image.png

字符串比较大小

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的方式是完全的深拷贝。

若依中框架时间格式处理

image.png

image.png

image.png

scss的样式穿透: "::v-deep"

image.png

scss 安装

npm uninstall sass-loader node-sass 
npm install sass-loader@8.0.2 sass@1.26.5 --save-dev

scss样式处理

只要外面的父级名字不一样,里面的相同样式就不会被冲突。

第9行,一点要选中亲儿子div,否则孙子等其他div也会被影响

image.png

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>

给同一个元素同时绑定单双击事件

image.png