【发布时间】:2020-04-28 08:52:01
【问题描述】:
我有这个对象:
{
"0": {
"boardingGate": "exit_0",
"departureTerminal": "1",
"terminalArea": 0,
"arrivalGate": "enter_0",
"arrivalTerminal": "2",
"terminalArea": 0
},
"1": {
"boardingGate": "exit_1",
"departureTerminal": "1",
"terminalArea": 0,
"arrivalGate": "enter_1",
"arrivalTerminal": "2",
"terminalArea": 0
},
"2": {
"boardingGate": "exit_0",
"departureTerminal": "1",
"terminalArea": 0,
"arrivalGate": "enter_0",
"arrivalTerminal": "3",
"terminalArea": 0
},
"3": {
"boardingGate": "exit_1",
"departureTerminal": "2",
"terminalArea": 0,
"arrivalGate": "enter_1",
"arrivalTerminal": "3",
"terminalArea": 0
}
}
我需要将所有“boardingGate”值更改为“exit_0”,将所有“arrivalGate”值更改为“enter_0”。一旦更改,我需要删除那些提供相同对象结构的对象。 我正在寻找的最终结果对象如下:
{
"0": {
"boardingGate": "exit_0",
"departureTerminal": "1",
"terminalArea": 0,
"arrivalGate": "enter_0",
"arrivalTerminal": "2",
"terminalArea": 0
},
"1": {
"boardingGate": "exit_0",
"departureTerminal": "1",
"terminalArea": 0,
"arrivalGate": "enter_0",
"arrivalTerminal": "3",
"terminalArea": 0
},
"2": {
"boardingGate": "exit_0",
"departureTerminal": "2",
"terminalArea": 0,
"arrivalGate": "enter_0",
"arrivalTerminal": "3",
"terminalArea": 0
}
}
在这种情况下,消除将获得最终结果相同数据的前两个之一。 我已经尝试使用 forEach 获取 Object.values(data),但没有得到想要的结果……我也不知道是否有更简单的方法。
const tickets = Object.values(data);
tickets.forEach((next, index, ticket) => {
const boardingGateKeys: any = Object.keys(next.boardingGate);
const boardingGateValues: any = Object.values(next.boardingGate);
boardingGateKeys.forEach((gate, gateIndex) => {
const arrivalGateKeys: any = Object.keys(gate.outputs);
const arrivalGateValues: any = Object.values(gate.outputs);
arrivalGateValues.forEach((output, outputIndex) => {
});
}
});
});
非常感谢您提前提供的帮助
【问题讨论】:
-
我已经尝试使用 forEach 获取 Object.values(data),你能分享一下失败的尝试吗?
标签: javascript arrays object foreach javascript-objects