Javascript 从JS配置对象提取数据以创建新对象
指定此配置对象成员(较大对象的一部分): 我需要迭代它并为stations数组中的每个对象生成此对象:Javascript 从JS配置对象提取数据以创建新对象,javascript,foreach,configuration,lodash,Javascript,Foreach,Configuration,Lodash,指定此配置对象成员(较大对象的一部分): 我需要迭代它并为stations数组中的每个对象生成此对象: var myObj = { "station": 1, "slots": [ { "position": "AO" "name": [name] }, { "position": "FF" "name": [name] }, { "position": "PFF" "n
var myObj = {
"station": 1,
"slots": [
{
"position": "AO"
"name": [name]
},
{
"position": "FF"
"name": [name]
},
{
"position": "PFF"
"name": [name]
},
]
}
我将分别填写名称,因此我现在不担心该值
我一直在尝试使用lodash u.forEach()实现这一点,但我感觉我没有尽可能有效地使用它。我试图做的(但失败的是)是在另一个循环中使用u.forEach(),而我无法从内部循环访问外部循环中的变量:
this.shiftTables = [];
_.forEach(stations, function(station) {
var table = {
"station": station.id,
"slots": []
};
//Iterate over station.positions
_.forEach(station.positions, function(position) {
var slot = {
"position": position,
"name": "Name"
};
});
vm.shiftTables.push(table);
});
(这只是为了说明我正在尝试做什么-不工作的代码)
那么我怎样才能完成我想做的事情呢
谢谢。这是一个简单的javascript解决方案,包含两个
forEach()
循环
var数据={“站”:[{“id”:“RH”,“positions”:[“RH2”,“RH16”,“RH14”]},{“id”:“WT”,“positions”:[“WT10”,“WT11”,“WT12”,“WT13”,“WT14”,“WT18”]},{“id”:1,“positions”:[“AO”,“FF”,“PFF”]},{“id”:2,“positions”:[“AO”,“FF”,“PFF”],“PFF”},{“id”:3,“positions”:“AO”,“AO”,“FF”,“PFF”;“PFF”},{“id”:4,“positions”,“AO”,“FF”,“PFF”;“PFF”}
var结果=[];
数据。站。forEach(功能(o){
var obj={station:o.id,slots:[]}
o、 职位。forEach(功能(e){
推({
职位:e,
姓名:“姓名”
})
})
结果:推送(obj);
});
document.body.innerHTML+=''+JSON.stringify(结果0,4)+''代码>这里是带有两个forEach()
循环的纯javascript解决方案
var数据={“站”:[{“id”:“RH”,“positions”:[“RH2”,“RH16”,“RH14”]},{“id”:“WT”,“positions”:[“WT10”,“WT11”,“WT12”,“WT13”,“WT14”,“WT18”]},{“id”:1,“positions”:[“AO”,“FF”,“PFF”]},{“id”:2,“positions”:[“AO”,“FF”,“PFF”],“PFF”},{“id”:3,“positions”:“AO”,“AO”,“FF”,“PFF”;“PFF”},{“id”:4,“positions”,“AO”,“FF”,“PFF”;“PFF”}
var结果=[];
数据。站。forEach(功能(o){
var obj={station:o.id,slots:[]}
o、 职位。forEach(功能(e){
推({
职位:e,
姓名:“姓名”
})
})
结果:推送(obj);
});
document.body.innerHTML+=''+JSON.stringify(结果0,4)+''代码>
this.shiftTables = [];
_.forEach(stations, function(station) {
var table = {
"station": station.id,
"slots": []
};
//Iterate over station.positions
_.forEach(station.positions, function(position) {
var slot = {
"position": position,
"name": "Name"
};
});
vm.shiftTables.push(table);
});