如何将数组 foreach 到 javascript 中的数组对象
how to foreach array to array object in javascript
我对在 Javascript 中执行 foreach 数组到数组对象感到非常困惑,我已经对 Javascript 中的 foreach 对象做了很多研究,我尝试了很多方法但没有任何效果。我想要实现的就是拥有这样的数据 JSON :
[
{
"name": "First Data",
"data": [
{
"y": 95,
"total":100,
"md": "1",
"name": "National",
"drillup" : 'level0',
"drilldown" : "3",
"next" : "level2"
}
]
}
,{
"name": "Second Data",
"data": [
{
"y": 95,
"total":100,
"md": "1",
"name": "National",
"drillup" : 'National',
"drilldown" : "3",
"next" : "level2"
}
]
}
]
并且我尝试根据我的一些研究发现来执行 foreach,但结果并不像我想要的或不喜欢我想要达到的目标..
这是我试过的脚本:
dataFirstSecond = await informationModel.getdata();
Object.entries(dataRegularSecondary).forEach(entry => {
const [key, value] = entry;
returnData[key] = [
{
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}]
}]
});
这是我尝试的脚本的结果或输出:
{
"0": [
{
"name": "First Data",
"data": [
{
"y": 22.973,
"total": 17,
"next": "level_2",
"drilldown": true
}
]
}
],
"1": [
{
"name": "Second Data",
"data": [
{
"y": 5.4054,
"total": 4,
"next": "level_2",
"drilldown": true
}
]
}
]
}
有人可以帮我实现我想要的数据吗?
如果函数 informationModel.getdata();
returns 是 Object
,您可以使用方法 JSON.stringify(Object)
轻松地将 Object
转换为 JSON
。例如,您可以尝试将此 Object
转换为 String
,然后将 String
转换为 JSON
。
let JSONString = JSON.stringify(informationModel.getdata());
let JSON_Object = JSON.parse(JSONString);
如果 dataRegularSecondary
是数组而不是对象,您可以使用 map:
dataRegularSecondary.map(value => {
return {
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}]
}
}
您的问题是how to forEach array to array object
。那么这意味着 dataRegularSecondary
是一个数组,对吧? Object.entries
returns 键值对数组。如果将数组传递给该方法,它将 return 索引作为键,项目作为值。
const arr = ['hello', 'world'];
Object.entries(arr); // [['0', 'hello'], ['1', 'world']]
跳过 Object.entries
,直接使用 dataRegularSecondary
forEach
。
至于你的输出,看起来 returnData
也是一个对象。确保它是一个数组,然后将数据推入其中。
dataRegularSecondary.forEach(value => {
returnData.push({
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}],
});
});
或者您也可以使用 map。
const returnData = dataRegularSecondary.map(value => ({
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}],
}));
returnData[key] = [{ ... }]
应该只是 returnData.push({ ... })
,并确保 returnData
是一个数组(例如 returnData = []
)
我对在 Javascript 中执行 foreach 数组到数组对象感到非常困惑,我已经对 Javascript 中的 foreach 对象做了很多研究,我尝试了很多方法但没有任何效果。我想要实现的就是拥有这样的数据 JSON :
[
{
"name": "First Data",
"data": [
{
"y": 95,
"total":100,
"md": "1",
"name": "National",
"drillup" : 'level0',
"drilldown" : "3",
"next" : "level2"
}
]
}
,{
"name": "Second Data",
"data": [
{
"y": 95,
"total":100,
"md": "1",
"name": "National",
"drillup" : 'National',
"drilldown" : "3",
"next" : "level2"
}
]
}
]
并且我尝试根据我的一些研究发现来执行 foreach,但结果并不像我想要的或不喜欢我想要达到的目标.. 这是我试过的脚本:
dataFirstSecond = await informationModel.getdata();
Object.entries(dataRegularSecondary).forEach(entry => {
const [key, value] = entry;
returnData[key] = [
{
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}]
}]
});
这是我尝试的脚本的结果或输出:
{
"0": [
{
"name": "First Data",
"data": [
{
"y": 22.973,
"total": 17,
"next": "level_2",
"drilldown": true
}
]
}
],
"1": [
{
"name": "Second Data",
"data": [
{
"y": 5.4054,
"total": 4,
"next": "level_2",
"drilldown": true
}
]
}
]
}
有人可以帮我实现我想要的数据吗?
如果函数 informationModel.getdata();
returns 是 Object
,您可以使用方法 JSON.stringify(Object)
轻松地将 Object
转换为 JSON
。例如,您可以尝试将此 Object
转换为 String
,然后将 String
转换为 JSON
。
let JSONString = JSON.stringify(informationModel.getdata());
let JSON_Object = JSON.parse(JSONString);
如果 dataRegularSecondary
是数组而不是对象,您可以使用 map:
dataRegularSecondary.map(value => {
return {
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}]
}
}
您的问题是how to forEach array to array object
。那么这意味着 dataRegularSecondary
是一个数组,对吧? Object.entries
returns 键值对数组。如果将数组传递给该方法,它将 return 索引作为键,项目作为值。
const arr = ['hello', 'world'];
Object.entries(arr); // [['0', 'hello'], ['1', 'world']]
跳过 Object.entries
,直接使用 dataRegularSecondary
forEach
。
至于你的输出,看起来 returnData
也是一个对象。确保它是一个数组,然后将数据推入其中。
dataRegularSecondary.forEach(value => {
returnData.push({
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}],
});
});
或者您也可以使用 map。
const returnData = dataRegularSecondary.map(value => ({
name: value.name,
data: [{
y: value.y,
total: value.total_ada,
next: 'level_2',
drilldown: true,
}],
}));
returnData[key] = [{ ... }]
应该只是 returnData.push({ ... })
,并确保 returnData
是一个数组(例如 returnData = []
)