摘要:多重循環(huán)遍歷查找優(yōu)化開發(fā)中經(jīng)常會遇到需要在一個數(shù)組中查找某一個對象的問題,單純用循環(huán)語句循環(huán)查找。一篇寫得很好的對對象進行講解的文章函數(shù)是的一等公民,即最小作用域是函數(shù)。利用靜態(tài)屬性掛載在原型上的屬性訪問作用域中的變量。
1、多重循環(huán)遍歷查找優(yōu)化
開發(fā)中經(jīng)常會遇到需要在一個數(shù)組中查找某一個對象的問題,單純用for循環(huán)語句循環(huán)查找。(typescript)
之前寫的是這樣的
inManual(search, manual) { for (let i = 0; i < search.length; i++) { for (let j = 0; j < manual.users.length; j++) { for (let k = 0; k < manual.users[j].contacts.length; k++) { if (search[i].phone == manual.users[j].contacts[k].phone) { search[i].state = 1; } } } } return search; }
無論有沒有找到,這樣做都需要全部循環(huán)一遍性能太浪費,需要用break來及時跳出此次循環(huán)。然而需要跳出多重循環(huán),也就可以改變下用return
優(yōu)化后的代碼:
for (let i = 0; i < search.length; i++) { this.isAdd(i); } isAdd(i) { for (let j = 0; j < manual.users.length; j++) { for (let k = 0; k < manual.users[j].contacts.length; k++) { if (search[i].phone == manual.users[j].contacts[k].phone) { search[i].state = 1; return; } } } }
2、ionic4中彈出組件是需要異步操作的,但有時候需要在一個同步方法中,進行彈出,即同步方法如何有效包含異步操作
正常的異步操作:
async click(){ const alert = await this.alertCtrl.create({ header: "請輸入手機號!", buttons: ["確定"] }); await alert.present(); }
將click方法同步后的代碼:
click(){ this.alertCtrl.create({ header: "請輸入手機號!", buttons: ["確定"] }).then((alert) => { alert.present(); }); }
3、js對象轉換成JSON對象,使用stringfy()方法進行轉換,但在轉換過程中需要注意,會自動把js對象的屬性值為undefined的屬性去掉。
一篇寫得很好的對json對象進行講解的文章https://segmentfault.com/a/11...
4、函數(shù)是js的一等公民,即最小作用域是函數(shù)。js沒有私有成員的概念,所有對象屬性都是公有的,但有私有變量。方法:
(1)利用構造函數(shù),訪問私有作用域中的變量。
(2)利用靜態(tài)屬性(掛載在原型上的屬性)訪問作用域中的變量。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99495.html
摘要:多重循環(huán)遍歷查找優(yōu)化開發(fā)中經(jīng)常會遇到需要在一個數(shù)組中查找某一個對象的問題,單純用循環(huán)語句循環(huán)查找。一篇寫得很好的對對象進行講解的文章函數(shù)是的一等公民,即最小作用域是函數(shù)。利用靜態(tài)屬性掛載在原型上的屬性訪問作用域中的變量。 1、多重循環(huán)遍歷查找優(yōu)化開發(fā)中經(jīng)常會遇到需要在一個數(shù)組中查找某一個對象的問題,單純用for循環(huán)語句循環(huán)查找。(typescript)之前寫的是這樣的 inManua...
摘要:但這并不意味著依賴版本是鎖死的。黃色表示不符合指定的語義化版本范圍,比如大版本升級,升級可能會遇到兼容性問題。文件可以列出不想打包的文件,避免把一些無關的文件發(fā)布到上。 作者: LeanCloud weakish 分享一些 npm 包管理工具的實用小竅門,希望能夠略微提高下前端、Node.js 開發(fā)者的生活質量。 絕大多數(shù)前端和 Node.js 開發(fā)者每天的日常工作都離不開 npm,不...
摘要:最終實現(xiàn)的撮圖目的借助小程序記錄微信日常會話中的重要信息,數(shù)據(jù)在本地緩存中操作,純前端無后臺,不用擔心信息泄露問題。 最終實現(xiàn)的撮圖:showImg(https://raw.githubusercontent.com/WGinit/Assets/master/images/memo/1.jpg);showImg(https://raw.githubusercontent.com/WGi...
摘要:上周末看這篇文章時,偶有靈光,所以,分享出來給大家一起看看前端面試四月二十家前端面試題分享請各位讀者添加一下作者的微信公眾號,以后有新的文章,將在微信公眾號直接推送給各位,非常感謝。 前端切圖神器 avocode 有了這個神器,切圖再也腰不酸,腿不疼了。 這一次,徹底弄懂 JavaScript 執(zhí)行機制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機制,如果讀完本文還不懂,...
閱讀 466·2021-10-09 09:57
閱讀 470·2019-08-29 18:39
閱讀 811·2019-08-29 12:27
閱讀 3028·2019-08-26 11:38
閱讀 2667·2019-08-26 11:37
閱讀 1286·2019-08-26 10:59
閱讀 1377·2019-08-26 10:58
閱讀 989·2019-08-26 10:48