получить Array-Object-String вещь из данного объекта - PullRequest
0 голосов
/ 02 октября 2018

У меня есть такой Объект
freq = { a: 50, r: 25, m: 25 }

Я хочу преобразовать его в этот Массив-объект как вещь

dps = [  
   { label: "a",
     y: 50  },
   { label: "r",
     y: 25  },
   { label: "m",
     y: 25  }
];

Это для создания диаграммы с холстом.

Ответы [ 4 ]

0 голосов
/ 02 октября 2018

Использование для цикла и карты

//Using for loop for object interation
const freq = { a: 50, r: 25, m: 25 };
var finalFreq=[];
for(let i in freq){
  finalFreq.push({label:i,y:freq[i]});
}
console.log(finalFreq);

//Using map and object keys
var finalFreq=Object.keys(freq).map((freqIndex)=>{
              return {label:freqIndex,y:freq[freqIndex]};
              });
console.log(finalFreq);
0 голосов
/ 02 октября 2018

Попробуйте, я думаю, это самый эффективный способ сделать это, потому что .map() медленнее, чем простой цикл for:

let freq = { a: 50, r: 25, m: 25 } ;
let dps = [];

for (let prop in freq) {
    dps.push({
        label: prop,
        y: freq[prop]
    });
}

console.log(dps);
0 голосов
/ 02 октября 2018

Вы можете использовать следующий метод:

var freq = { a: 50, r: 25, m: 25 };
/*
dps = [  
   { label: "a",
     y: 50  },
   { label: "r",
     y: 25  },
   { label: "m",
     y: 25  }
];
*/
var dps = [];
var keys = Object.keys(freq);
keys.map((current,index)=>{
  dps.push({label:keys[index], y:freq[keys[index]]});
});
console.log(dps);
0 голосов
/ 02 октября 2018

Вы можете взять записи объекта и принять деструктурирующее присвоение для пар ключ / значение и отобразить новые объекты с свойствами короткой руки .

var freq = { a: 50, r: 25, m: 25 },
    dps = Object.entries(freq).map(([label, y]) => ({ label, y }));
    
console.log(dps);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...