为了账号安全,请及时绑定邮箱和手机立即绑定

在数组映射 reactJS 中使用变量

在数组映射 reactJS 中使用变量

慕码人2483693 2023-02-24 15:38:36
我想使用下拉列表从数组中创建几个表。列表将是每日、每周、每月、每年。我已经写了代码。下面是示例数组。 var allPoints = records.map(      (        { id, sector_name, f_day_lot1, f_day_lot2, f_day_lot3, f_day_lot4 }      ) => (          { id, sector_name, f_day_lot1, f_day_lot2, f_day_lot3, f_day_lot4 }        )    );问题是我想将上面的内容更改day为weekly, monthly or yearly取决于下拉列表。我可以多次编写相同的代码更改day为weekly, monthly or yearly. 但是那将是很多代码。那么,还有没有其他更好的方法呢。或者如何根据菜单将日期设置为变量并更改值。
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

我不确定您的记录的确切数据结构是什么。但我认为您可以使用动态键名:


function getPoints(records, dropdownValue) {

  return records.map((item) => {

    let mapedItem = {};

    for (const key in item) {

      if (key.indexOf(`${dropdownValue}_lot`) !== -1) {

        mapedItem[key] = item[key];

      }

    }

    mapedItem["id"] = item["id"];

    mapedItem["sector_name"] = item["sector_name"];

    return mapedItem;

  });

}

const data = [

  {

    id: 1,

    sector_name: 2,

    f_day_lot1: "f_day_lot1",

    f_day_lot2: "f_day_lot2",

    f_day_lot3: "f_day_lot3",

    f_day_lot4: "f_day_lot4",

    f_month_lot1: "f_month_lot1",

    f_month_lot2: "f_month_lot2",

    f_month_lot3: "f_month_lot3",

    f_month_lot4: "f_month_lot4",

    f_week_lot1: "f_week_lot1",

    f_week_lot2: "f_week_lot2",

    f_week_lot3: "f_week_lot3",

    f_week_lot4: "f_week_lot4"

  }

];

console.log(getPoints(data, "day"));

console.log(getPoints(data, "week"));

console.log(getPoints(data, "month"));


查看完整回答
反对 回复 2023-02-24
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信