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