const data = 
  [ { name: 'nam_0',  age: 0 }, { name: 'nam_1',  age: 1 }, { name: 'nam_2',  age: 2 }, { name: 'nam_3',  age: 3 }, { name: 'nam_4',  age: 4 }
  , { name: 'nam_5',  age: 5 }, { name: 'nam_6',  age: 6 }, { name: 'nam_7',  age: 7 }, { name: 'nam_8',  age: 8 }, { name: 'nam_9',  age: 9 }
  , { name: 'nam_10', age:10 }, { name: 'nam_11', age:11 }, { name: 'nam_12', age:12 }, { name: 'nam_13', age:13 }, { name: 'nam_14', age:14 }
  , { name: 'nam_15', age:15 }, { name: 'nam_16', age:16 }, { name: 'nam_17', age:17 }, { name: 'nam_18', age:18 }, { name: 'nam_19', age:19 }
  , { name: 'nam_20', age:20 }, { name: 'nam_21', age:21 }, { name: 'nam_22', age:22 }, { name: 'nam_23', age:23 }, { name: 'nam_24', age:24 }
  , { name: 'nam_25', age:25 }, { name: 'nam_26', age:26 }, { name: 'nam_27', age:27 }, { name: 'nam_28', age:28 }, { name: 'nam_29', age:29 }
  ] 
, cName = ((lZero = 'c')=>
  {
  let[a,z,Ln] = [...'az'+lZero].map(c=>c.charCodeAt(0)), mod = z-a+1;
  Ln -= a;
  return ()=>
    {
    let n = Ln++, s = '';
    while (n>=0)
      { 
      s = String.fromCharCode(n % mod + a ) + s
      n = Math.floor(n / mod) - 1;
      }
    return s
  } })()
, res = data.reduce((r,o)=>(r[cName()]=o,r),{})
console.log (res)
.as-console-wrapper { max-height: 100% !important; top: 0 }