ES6 使用 map 和 find 方法在 formList 中添加 required 字段

本文介绍如何使用 ES6 中的 mapfind 方法在 formList 中添加 required 字段,根据 arr1craftSubType 字段的值来判断是否需要添加 required 字段。

问题描述:

给定两个数组:

  • formList 数组包含一些表单字段信息,每个字段包含 labelvaluetype 属性。
  • arr1 数组包含一些工艺类型信息,每个元素包含 craftSubType 属性。

需要将 formListtype 属性的值与 arr1craftSubType 属性的值进行匹配,如果匹配则在 formList 中对应元素添加 required: true 字段,否则添加 required: false 字段。

解决方案:

可以使用 ES6 中的 mapfind 方法来实现这个逻辑。

  • map 方法可以遍历 formList 数组,并对每个元素进行修改。
  • find 方法可以查找 arr1 数组中与当前元素 type 属性值相匹配的 craftSubType 值。

代码示例:

const formList = [
    {label: '冲压责任人', value: 'stampingUser', type: 1},
    {label: '焊接责任人', value: 'weldUser', type: 2},
    {label: '机加责任人', value: 'machiningUser', type: 5},
    {label: '装配责任人', value: 'assembleUser', type: 6},
    {label: '排气责任人', value: 'ventingUser', type: 4},
    {label: '电泳责任人', value: 'electrophoresisUser', type: 3}
];

const arr1 = [
    { "craftSubType": "1" },
    { "craftSubType": "2" },
    { "craftSubType": "5" },
    { "craftSubType": "3" },
    { "craftSubType": "3" },
    { "craftSubType": "6" },
    { "craftSubType": "4" },
    { "craftSubType": "4" },
    { "craftSubType": "4" },
    { "craftSubType": "4" },
    { "craftSubType": "4" }
];

const updatedFormList = formList.map(item => {
    const match = arr1.find(obj => obj.craftSubType === item.type.toString());
    if (match) {
        return { ...item, required: true };
    } else {
        return { ...item, required: false };
    }
});

console.log(updatedFormList);

输出结果:

[
    {label: '冲压责任人', value: 'stampingUser', type: 1, required: true},
    {label: '焊接责任人', value: 'weldUser', type: 2, required: true},
    {label: '机加责任人', value: 'machiningUser', type: 5, required: true},
    {label: '装配责任人', value: 'assembleUser', type: 6, required: true},
    {label: '排气责任人', value: 'ventingUser', type: 4, required: true},
    {label: '电泳责任人', value: 'electrophoresisUser', type: 3, required: true}
]

这样就实现了将 formListtypearr1craftSubType 相匹配的元素增加 required 字段为 true,否则为 false 的逻辑。

说明:

  • find 方法会返回第一个满足条件的元素,如果没有找到则返回 undefined
  • ...item 用于将 item 对象的属性展开,以便在创建新对象时保留原有的属性。

希望本文能够帮助您理解如何使用 ES6 中的 mapfind 方法来进行数组遍历和查找操作。

ES6 使用 map 和 find 方法在 formList 中添加 required 字段

原文地址: https://www.cveoy.top/t/topic/m49G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录