在数组映射 reactJS 中使用变量

我想使用下拉列表从数组中创建几个表。列表将是每日、每周、每月、每年。


我已经写了代码。下面是示例数组。


 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. 但是那将是很多代码。那么,还有没有其他更好的方法呢。


或者如何根据菜单将日期设置为变量并更改值。


慕码人2483693
浏览 82回答 1
1回答

陪伴而非守候

我不确定您的记录的确切数据结构是什么。但我认为您可以使用动态键名: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"));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript