본문 바로가기

[typescript] for each 말고 for of 를 사용하자

public isDuplicate(partName: any) {
    // Judge to
    let returnValue;
    let product = this.app.root.findByName('product');
    product.children.forEach((cPart) => {
      if (cPart.name.substring(0, 5) === partName.substring(0, 5)) {
        return cPart.name;
      }
    });
    return undefined;
  }

이렇게 되면 리턴 될것 같은데 아님 왜냐면 forEach 안에 있는 함수가 리턴되기때문에 내가 끝내고 싶은 함수는 끝나지 않음.. 

그래서 이런식으로 생각해서 짜 줘야함 

public isDuplicate(partName: any) {
    // Judge to
    let returnValue;
    let product = this.app.root.findByName('product');
    product.children.forEach((cPart) => {
      if (cPart.name.substring(0, 5) === partName.substring(0, 5)) {
        returnValue = cPart.name;
      }
    });
    return returnValue;
  }

그래서 익숙한 python의 for - in 같은 for - of 를 사용하는게 나은것 같다 

public isDuplicate(partName: any) {
    let product = this.app.root.findByName('product');
    for (let cPart of product.children) {
      if (cPart.name.substring(0, 5) === partName.substring(0, 5)) {
        return cPart.name;
      }
    }
    return undefined;
  }

깔-끔

'' 카테고리의 다른 글

[typescript] for each 말고 for of 를 사용하자  (0) 2019.09.10
[tip] 인자이름과 함수매개변수 이름  (0) 2019.09.10
[python] swap  (0) 2019.08.24