js auto expand array All In One

js auto expand array All In One

rows 自動擴展


const rows = [
  {
      "name": "總計",
      "ins_num_10k": 0,
      "natural_ins_num_ratio": null,
      "cost_amount_10k": 96058.5732011944,
      "allpay_amount_10k": 0,
      "cpi": null,
      "roi_7": 0,
      "mau": 0,
      "_meta": {
          "ins_num_10k_trend": -1,
          "natural_ins_num_ratio_trend": null,
          "cost_amount_10k_trend": 1.2952897963,
          "allpay_amount_10k_trend": -1,
          "cpi_trend": null,
          "roi_7_trend": -1,
          "mau_trend": -1,
      }
  },
  {
      "name": "其他",
      "ins_num_10k": 0,
      "natural_ins_num_ratio": null,
      "cost_amount_10k": 0.00294292,
      "allpay_amount_10k": 0,
      "cpi": null,
      "roi_7": 0,
      "mau": 0,
      "_meta": {
          "ins_num_10k_trend": -1,
          "natural_ins_num_ratio_trend": null,
          "cost_amount_10k_trend": null,
          "allpay_amount_10k_trend": -1,
          "cpi_trend": null,
          "roi_7_trend": null,
          "mau_trend": -1,
      }
  },
];

const autoExpandRows = (arr = [], name = 'row_name') => {
  const result = [];
  for (const obj of arr) {
    const newObj = {
      [name]: `${obj[name]}趨勢`,
      // _meta: obj._meta,
      // _meta: {},
    };
    for (const key in obj._meta) {
      const newKey = key.replace(/_trend/, '');
      newObj[newKey] = obj._meta[key];
    }
    result.push(obj);
    result.push(newObj);
  }
  return result;
};

const test = autoExpandRows(rows);

console.log('test', test);

refs



©xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 發佈文章使用:只允許註冊用戶纔可以訪問!

原創文章,版權所有©️xgqfrms, 禁止轉載 🈲️,侵權必究⚠️!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章