- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要重组一个已经存在的数据结构,但不知道如何以最有效的方式做到这一点(如果我应该做我自己的自定义函数或者可能使用第三方库)。
数据:可能有也可能没有一个月或一天,也就是说,如果用户从未输入过数据,那么数据结构将如下所示 {}
。
2019: { // year
7: { // month
6: { // day
activities: (4) [{…}, {…}, {…}, {…}]
emotionsFelt: (3) ["Excited", "Nervous", "Happy"]
isSpecialDay: false
latitude: null
locationId: null
locationName: null
locationProvider: null
longitude: null
mood: "Awesome"
optionalDescription: ""
rating: 5
timestamp: "2019-07-06T18:52:38.022Z"
},
7: {
activities: []
emotionsFelt: (2) ["Excited", "Lively"]
isSpecialDay: false
latitude: 56.130366
locationId: "ChIJ2WrMN9MDDUsRpY9Doiq3aJk"
locationName: "Canada"
locationProvider: "GM"
longitude: -106.346771
mood: "Awesome"
optionalDescription: ""
rating: 5
timestamp: "2019-07-06T19:00:18.391Z"
}
}
}
结果应该是:
2019: { // year
7: { // month
6: { // day
avgRating: 5,
isSpecialDay: false,
entries: [
{
activities: [{…}, {…}, {…}, {…}],
emotionsFelt: ["Excited", "Nervous", "Happy"],
isSpecialMoment: false,
latitude: null,
locationId: null,
locationName: null,
locationProvider: null,
longitude: null,
mood: "Awesome",
optionalDescription: "",
rating: 5,
images: [],
timestamp: "2019-07-06T18:52:38.022Z",
}
]
},
7: {
avgRating: 5,
isSpecialDay: false,
entries: [
{
activities: [],
emotionsFelt: ["Excited", "Lively"],
isSpecialMoment: false,
latitude: 56.130366
locationId: "ChIJ2WrMN9MDDUsRpY9Doiq3aJk"
locationName: "Canada"
locationProvider: "GM"
longitude: -106.346771
mood: "Awesome",
optionalDescription: "",
rating: 5,
images: [],
timestamp: "2019-07-06T18:52:38.022Z",
}
]
}
}
}
关于如何完成此操作的任何提示?提前致谢:)
最佳答案
像这样使用嵌套的 for...in
循环、解构、扩展和速记属性表示法:
let obj = {2019:{7:{6:{activities:["one","two","three","four"],emotionsFelt:["Excited","Nervous","Happy"],isSpecialDay:false,latitude:null,locationId:null,locationName:null,locationProvider:null,longitude:null,mood:"Awesome",optionalDescription:"",rating:5,timestamp:"2019-07-06T18:52:38.022Z"},7:{activities:[],emotionsFelt:["Excited","Lively"],isSpecialDay:false,latitude:56.130366,locationId:"ChIJ2WrMN9MDDUsRpY9Doiq3aJk",locationName:"Canada",locationProvider:"GM",longitude:-106.346771,mood:"Awesome",optionalDescription:"",rating:5,timestamp:"2019-07-06T19:00:18.391Z"}}}};
for (let year in obj) {
for (let month in obj[year]) {
for (let day in obj[year][month]) {
const { isSpecialDay, rating: avgRating, ...r } = obj[year][month][day];
obj[year][month][day] = { isSpecialDay, avgRating, entries: [{ isSpecialDay, avgRating, ...r }]};
}
}
}
console.log(obj);
.as-console-wrapper { max-height: 100% !important; top: auto; }
关于javascript - 将数据结构重组为新模式 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921939/
目录 一、状态变化 1.1 状态变化是什么 1.2 mutableStateListOf 和 mutableStateMapOf 二、重组的
这是我的真实数据列表的示例列表: df setNames(nm) } fun3 Unit: microseconds #> expr min lq me
在 clojure 中,我可以像这样解构 map : (let [{:keys [key1 key2]} {:key1 1 :key2 2}] ...) 这类似于 CoffeeScript 的方法
这个问题在这里已经有了答案: Re-Structuring a JSON (2 个答案) 关闭 9 年前。 我需要使用 Javascript/Jquery 将我的 JSON 重新组织成新的结构,但我
我有一个具有以下结构的表,列是出发地、目的地、旅行时间和出发时间。主键是出发地、目的地和出发时间的组合。有没有什么方法可以重新构造它,以便行中没有太多的起点和目的地重复? 最佳答案 “出发地和目的地太
需要将 JSON 重组为 Python 中的新结构。 例如: { 'a' : 1, 'b' : 1, 'd' : {'d1' : '1', 'd2' : 2}, 'm' : [
我正在努力了解重组的工作原理。虽然我理解它的基本概念,但我在使用 withProps 函数时遇到了问题。如果我尝试使用它来装饰带有附加 Prop 的组件的每个子组件,它根本无法工作。我所做的是: co
假设我有一个数据框列表。每个数据框都有这样的列: lists$a company, x, y ,z lists$b company, x, y, z lists$c company, x, y, z
好吧,我有这个数组 $city : [2] => Array ( [0] => Array ( [0] => fr
工作中的 subversion 存储库是在没有对其结构进行太多规划的情况下建立的。目前没有明确的标签、主干或分支配置,尽管通过使用 subclipse:tags 存在一些标签元数据 目前存储库的格式为
我有一个具有以下文件夹结构的 Git 存储库: allprojectfiles --otherfolders --source ----projectname ------projectname --
我有一个像这样的 git repo 结构- main-repo -file1 -file2 我想把它转换成类似的东西- main-repo -javascript -fil
我有一个像这样的 git repo 结构- main-repo -file1 -file2 我想把它转换成类似的东西- main-repo -javascript -fil
有人建议我从类结构(定义我自己的类)转移到 pandas DataFrame 领域,因为我设想对我的数据进行许多操作。 此时我有一个如下所示的数据框: ID Name Recordin
我想重构我的 pandas 数据框,其中 h1、h2 等是与小时相关的值。目前看起来像: h1 h2 h3 h4 h5 h6 h7 h8 h9
我在 postgresql 上使用查询返回这样的结果。 schedule | day | subject | grade | ========================
我有一个这样组织的数据框... **Name** | **Mealtime** | **Food** John | 8:00 am | cereal John | 1:00 pm | salad
我有基本的脚本知识,但我不知道如何解决这个问题。我正在尝试将银行自动生成的 CSV 文件转换为 YNAB(您需要预算)可以理解的格式。 YNAB 格式(所需的 csv 文件格式) Date,Payee
我正在重组我的 meteor 应用程序,突然每个逻辑(JS 脚本)与初始文件分离的 View (html 模板)都停止工作。 最初我的项目看起来像这样 -project -.meteor
我试图让 children 不影响导航栏,并像下拉菜单一样显示。 当前示例位于:dev4you.byethost15.com 函数应该如下: 用户将鼠标悬停在父项上 子项显示在类似列表、Underne
我是一名优秀的程序员,十分优秀!