1. ホーム
  2. javascript

[解決済み] すべてのコードパスが戻り値ではない問題を解決するには?

2022-02-24 16:55:50

質問

コードにエラーがあり、解決しようとしています。私はそれが return 文がありますが、それはすでに forEach のループがありますが、まだエラーがスローされます。

not all the code path return the value

以下のコードはどのように修正するのですか?

main.ts :

private ValidateRequestArgs(str) {
  let ret: boolean = true;
  // here on val its throwing tslint error not all code paths return value 
  str.split(',').forEach((val) => {
    if (!ret) {
      return false;
    }
    if (List.indexOf(val) > -1) {
      ret = true;
    } else {
      ret = false;
    }
  });
  return ret;
}

解決方法は?

なぜtslintが文句を言っているのかわかりませんが、全体をもっとエレガントに次のように書くことができます。

return str.split(",").every(el => List.includes(el));

またはES6を使用します。

return str.split(",").every(el => List.indexOf(el) > -1);