簡化巢狀for迴圈

2021-08-28 22:41:49 字數 902 閱讀 3122

業務場景是這樣的:老闆讓我寫乙個函式,分別取零售店的類目和市場的類目進行比較,看零售店是否有多的類目,然後給這個類目打上標記。

你可以理解為取兩張表,a,b,比較a,b,如果a表中的內容b表中找不到就給這個內容打上標記,最後返回a表。

首先是非同步取兩張表,同時等待兩個非同步操作,所以我用了乙個promise.all來等待獲取兩個promise的返回結果,接著用乙個巢狀for迴圈進行比較。然後覺得這個**寫的也太冗餘了。於是決定用點小技巧。

原先選用for迴圈是方式是防止自己想要break,寫完後發現邏輯上都是要比較的,所以不用break,用foreach就沒問題了。然後,第二個for迴圈其實是做乙個比較,那麼就想到陣列的方法array.some(),有true則true,所有都為false時則為false,正好符合我的業務場景。於是做了以下簡化。

最開始寫的:

let twocategories = await promise.all([this.getretailcategorylist(),this.getcatetreebyopencode()])

let shopcategories = twocategories[0]

let carriercategories = twocategories[1]

for(let i=0;i簡化後: 

let twocategories = await promise.all([this.getretailcategorylist(),this.getcatetreebyopencode()]);

let shopcategories = twocategories[0],carriercategories = twocategories[1];

shopcategories.foreach((shopcate)=>)

巢狀for迴圈

根據外層的條件,判斷裡層能否執行,如果能執行,就把裡層 都迴圈完畢後,再繼續執行外層,繼續判斷。for 開始條件 判斷條件 更改條件 1.入門案例 public class test for system.out.println 總結2 外迴圈控制行,內迴圈控制列 for int i 1 i 2 i...

for迴圈 巢狀

package com.d for迴圈 巢狀 date 2022.2.24 正直角三角形 倒直角三角形 等腰三角形 九九乘法口訣表 public class fornest 正直角三角形 public static void zl system.out.println 外層用println換行 倒直...

PHP 條件巢狀 迴圈巢狀 條件迴圈相巢狀

1.條件巢狀 demo 假設在發3月工資的時候,不僅判定性別,還要判定男性是否有房,沒有房,可以發放住房補貼,對於女性,判定是否懷孕,懷孕還有懷孕補貼 totalmoney 0 總工資 basicmoney 8000 基本工資 男 nohouse true 沒有房?housemoney 150 住房...