JSFiddle - React, Tailwind, and code Playground

by Евгений Дзюба

HTML

<table cellpadding="1" cellspacing="30" >
   <tr>
      <th>Country</th>
      <th>Type</th>
      <th>Code</th>
      <th>Rate per minute</th>
   </tr>
   <tbody id="value"></tbody>
</table>

CSS

th{
  background-color:grey
}

JavaScript

var HTML="";
var obj={};
value=[
		{areaCode: 82, rate: 0.042, type: "Other"},
		{areaCode: 82, phonePart: 1, rate: 0.078, type: "Mobile"},
		{areaCode: 82, phonePart: 70, rate: 0.078, type: "Mobile"},
		{areaCode: 82, phonePart: 2, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 31, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 32, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 33, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 41, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 42, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 43, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 44, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 51, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 52, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 53, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 54, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 55, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 61, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 62, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 63, rate: 0.042, type: "Landline"},
		{areaCode: 82, phonePart: 64, rate: 0.042, type: "Landline"}

]


value.forEach(e=>{
    if (e.type=='Other'){
        //HTML+='<tr><td>'+'СТРАНА'+'</td><td>'+e.type+'</td><td>'+e.areaCode+'</td><td>'+'$'+e.rate+'</td></tr>'
    }

    obj[e.type]={};                                                     // надо бы условие поставить
    obj[e.type]['code']=[];
    for (let key in e){
        //obj[key]=e[key]

        obj[e.type]['type']=e.type;
        obj[e.type]['rate']=e.rate;
        if('phonePart' in e){
            obj[e.type]['code']+=e.areaCode+''+e.phonePart+', '
        }else {
            obj[e.type]['code']=e.areaCode;
        }
    }
})

for (let key in obj){
   ...