遍歷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
![](http://static.javashuo.com/static/loading.gif)
爲啥呀?
😊
關於parseInt語法:第二個參數redix實際上有四種值,2,8, 10, 16;【分別對應二進制,八進制,十進制,十六進制;默認十進制】
通常狀況下可忽略第二個參數,能夠運行。
但是在進行語法校驗的時候,jsLint會報錯,由於壓縮工具對語法的嚴謹性要求比較高;這種狀況下建議加上第二個參數;
目錄6
(寫給本身的記錄)
angular在使用彈框的時候,用的是angular Material組件,須要修改彈框本來的樣式;
可使用panelClass.
![](http://static.javashuo.com/static/loading.gif)
在本來的dialog外面增長一個類名。