Javascript: 将数值列表转换为对象集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript: 将数值列表转换为对象集相关的知识,希望对你有一定的参考价值。

我正在从服务器上获取数据。

从服务器返回的数据是...

{
 Increase: true,
Decrease: false,
Like:true,
Unlike: true,
Others: false,
Limits:true
}

以下是Ngrx服务调度后的结果。

console.log('this.data=' +data)。

this.data= [object Object]

现在做完 console.log('Object.keys(data)='+Object.keys(data))后。

Object.keys(data)= Increase,Decrease,Like,Unlike,Others,Limits

我如何才能在 console.log 之后得到相同的数据集,就像下面这样。

  [object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

所以在JSON.stringify之后...我可以得到同样的数据,就像下面的一样

[{"description":"Increase"},{"description":"Decrease"},{"description":"Like"},{"description":"Unlike"},{"description":"Others"},{"description":"Limits"},]
答案

你可以采取 entries 然后绘制它。

var obj={ Increase: true, Decrease: false, Like:true, Unlike: true, Others: false, Limits:true};

var result = Object.entries(obj).map(([k,v])=>({[k]:v}));

var result2 = Object.entries(obj).map(([k])=>({'Description':k}));

console.log(result);
console.log(result2);
另一答案

你可以用 Object.keys() 然后 .map() 结果数组,这是一个工作片段。

const obj = {
  Increase: true,
  Decrease: false,
  Like: true,
  Unlike: true,
  Others: false,
  Limits: true,
};

//const result = Object.keys(obj).map((key) => ({ description: key }));

const result = Object.keys(obj).map((key) => ({ [key]: obj[key]}));

console.log(JSON.stringify(result));

以上是关于Javascript: 将数值列表转换为对象集的主要内容,如果未能解决你的问题,请参考以下文章

在 javascript 中将 Blob 转换为文件列表

将对象转换为对象列表 Javascript

JavaScript 一元正号运算符

即使对于少量数据,将先验对象转换为列表也需要更多时间

将分类网络流量特征转换为数值 - ISCX ***2016 数据集

将数据集转换为列表