javascript - 如何简化创建一个对象数组,其中除了一个之外所有属性都相同?
问题描述
const errorMessage = "some error message";
const fieldName = "the field name";
const newFieldRules = [{
custom: false,
errorMessage: errorMessage,
fieldName: fieldName,
validatorName: `digits`
},
{
custom: false,
errorMessage: errorMessage,
fieldName: fieldName,
validatorName: `min`
},
{
custom: false,
errorMessage: errorMessage,
fieldName: fieldName,
validatorName: `max`
}
];
我需要创建上面的数组。如您所见,所有对象中几乎没有相同的属性。
有没有办法改进这段代码以避免重复?
解决方案
这摆脱了重复,使用Array.prototype.map
:
const errorMessage = "some error message";
const fieldName = "the field name";
const newFieldRules = [`digits`, `min`, `max`].map(validatorName => ({
custom: false,
errorMessage,
fieldName,
validatorName
}));
console.log(newFieldRules);
推荐阅读
- android - Firebase在什么情况下触发OnCanceled()
- python - 了解 APScheduler 配置
- logging - Log4j2:以编程方式删除现有的附加程序并为所有记录器动态添加新的 RollingFileAppender
- regex - 如何使用正则表达式匹配字符串
- spring-boot - Spring-Doc open api不适用于Spring云配置服务器@EnableConfigServer
- python-3.x - 如何使用 boto3、paramiko 通过 python3 访问 aws 私有实例
- python - 自定义排序并在熊猫中取第一行
- visual-studio - 1440p 设计器周围的 Visual Studio 2019 黑条
- spring-mvc - 声明地图
作为范围变量导致问题 - postgresql - 如何检查不可为空的列?