javascript - 如何循环对象并将键推入数组?
问题描述
我有一个由newSales
and组成的对象,oldSales
我正在循环它们以获取键值对。我已经能够控制台记录它们,但现在我被卡住了。如何在我的数组中推送这些键值对?这是一个示例代码笔
const obj = {
newSales: 1,
oldSales: 0,
anotherProp: 'something',
etc: 'etc',
values: 'numbers'
}
function myDataSet() {
let dataSet = []
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(`${key} : ${obj[key]}`)
dataSet.push({
name: ['newSales', 'oldSales'],
data: [1, 0]
})
}
}
return dataSet
}
myDataSet();
对象中的新名称应该是name
ie newSales
,oldSales
并且data
内部应该是一个值为 1 和 0 的数组。感谢所有帮助。
预期输出:
[ { name: ['newSales', 'oldSales'], data:[ 1,0 ] } ]
解决方案
如果我理解正确,你想要这个。
根据需要编辑为具有外部数组,尽管我不明白它的目的。
let dataSet = [{
name: Object.keys(obj),
data: Object.values(obj)
}];
推荐阅读
- angular - Angular 6/7 从数组 any (any[]) 生成数据摘要
- php - 如何使用 PDO 将多个选择值插入数据库?
- webpack - 为什么为 LoaderDependency 创建的模块必须具有 _source 属性?
- playframework - 价值流不是 Application.this.Status 在播放框架 2.6.0 中的成员
- java - MQ JMS 消息 ID 不返回文本消息以及如何以正确格式编写 MQ JMSCorrelationID
- text-editor - 如何在 Summernote 内容上插入图像后调整图像大小
- typo3 - TYPO3 新闻:如果媒体元素有视频项目,则添加类
- javascript - 检查数组是否为数组,但考虑参数对象
- logstash - 用 Logstash 过滤器替换或删除单词
- typescript - 在抛出任何错误时进行开玩笑测试以失败?