私はこれを何かできますか、それとも悪い習慣ですか?Javascript - 関数の配列はこの悪い習慣です
file1.js
export func1(param) {
if (valid(param)) return 'valid';
else return 'invalid'
}
export func2(param) {
if (valid(param)) return 'valid';
else return 'invalid'
}
file2.js
import { func1, func2 } from 'file1'
const list = [func1, func2]
function test(value){
list.forEach((listValue) => {console.log(listValue(value));
});
}
私は私のプロジェクトでの入力の多くを持っていると私は彼らの検証用コードの量を縮小化しようとしている
現在の実装は次のようになります
file1.js
export validate(type, param){
switch(type){
case TYPE1:
if (valid){
return 'valid';
} else {
return 'invalid';
}
case TYPE2:
if (valid(param.rule)){
return 'valid';
} else {
return 'invalid';
}
default:
break;
}
file2.js JavaScriptで
import validate from 'file1.js'
const object = {value: '', types: [
{type: TYPE1, rule: SOME_RULE}
{type: TYPE2, rule: SOME_OTHER_RULE}
]}
function validateObject(object) {
object.types.forEach((type) =>
{console.log(validate(type.type, {
value: object.value,
rule: type.rule}
));}
}
すべての関数が同じ量のパラメータを持ち、その型が互換性があると仮定しても、特に問題はありません。 –
私は初心者のようなので、私はこれを行うことができますかと思います。私はparamsが{value: ''、rule1: ''、rule2: '}のようにオブジェクトであると仮定しているので、 –