遍历json的key...value的时候报错:html
[tslint] for (... in ...) statements must be filtered with an if statement
原代码:前端
for (let key in this.targetList[0]) { this.tableHeaders.push({ value: key, name: key }) }
修改成:面试
for (const key in Object.keys(this.targetList[0]) {
if (this.targetList[0].hasOwnProperty(key)) { // 添加原型判断
this.tableHeaders.push({ value: key, name: key })
}
}
for...in
循环只遍历可枚举属性。像 Array
和 Object
使用内置构造函数所建立的对象都会继承自Object.prototype
和String.prototype
的不可枚举属性,例如 String
的 indexOf()
方法或 Object
的toString()
方法。json
若是你只要考虑对象自己的属性,而不是它的原型,那么使用 getOwnPropertyNames()
或执行 hasOwnProperty()
来肯定某属性是不是对象自己的属性数组
Can't bind to 'routerLink' since it isn't a known property of 'a'.
do:函数
注意是否在该模块引入import {RouterModule} from '@angular/router'工具
13位(单位毫秒): const time = new Date 转换成10位: const time = Math.round((new Date()).valueOf() / 1000)
缘由分析:(电脑性能,网速问题,客观存在缘由,与代码逻辑无关。) 打开的页面存在不少请求,有的请求未响应或响应不及时。 线程阻塞,前端存在大量运算或者渲染页面的过程。 DOM操做频繁,频繁触发回流,循环耗时等; 具体分析:F12打开控制台,点击performance,选中screenshots,点击录制屏幕,操做。 红色部分表示该部分卡顿; 底部summary图,黄色表明的部分须要优化。
console.log(['1','2','3'].map(parseInt))
答案:[1, NaN, NaN]post
解析:https://juejin.im/post/5c6fab02e51d453eb7801914性能
简单来讲,就是map回调函数中有三个参数,第一个是正在处理的当前元素,第二个是当前索引;优化
而parseInt函数其实也有两个参数parseInt(string, radix)
上题实际是被解析成这样:
parseInt('1', 0, theArray)
parseInt('2', 1, theArray)
parseInt('3', 2, theArray)
方法:
const arr = ['1', '2', '3'].map(item => {
return parseInt(item)
})
报错:
parseInt(item)报红,显示:Missing radix parameter

为啥呀?
😊
关于parseInt语法:第二个参数redix实际上有四种值,2,8, 10, 16;【分别对应二进制,八进制,十进制,十六进制;默认十进制】
通常状况下可忽略第二个参数,能够运行。
但是在进行语法校验的时候,jsLint会报错,由于压缩工具对语法的严谨性要求比较高;这种状况下建议加上第二个参数;
目录6
(写给本身的记录)
angular在使用弹框的时候,用的是angular Material组件,须要修改弹框本来的样式;
可使用panelClass.

在本来的dialog外面增长一个类名。