Предполагая, что slots
в том же порядке для driver_data
и passenger_data
, вы можете map
вместо driver_data
, например:
var obj = {"driver_data":[{"slot":0,"rideCount":98},{"slot":30,"rideCount":75},{"slot":100,"rideCount":0}],"passenger_data":[{"slot":0,"rideCount":33},{"slot":30,"rideCount":56},{"slot":100,"rideCount":37}]}
let output = obj.driver_data.map((d, index) => ({
Slot: slot,
driver_data: d.rideCount,
passenger_data: obj.passenger_data[index].rideCount
}))
console.log(output)
Если slots
не в том же порядке, вы можете использовать map
и find
, как это.Получите пассажира с тем же slot
, что и у водителя .Вернуть новый объект со значениями счетчика
var obj={"driver_data":[{"slot":0,"rideCount":98},{"slot":30,"rideCount":75},{"slot":100,"rideCount":0}],"passenger_data":[{"slot":0,"rideCount":33},{"slot":30,"rideCount":56},{"slot":100,"rideCount":37}]}
let output = obj.driver_data.map(d => {
let passenger = obj.passenger_data.find(p => p.slot === d.slot);
return {
Slot: d.slot,
driver_data: d.rideCount,
passenger_data: (passenger || {}).rideCount
}
})
console.log(output)
Или используя Array.from
(Предполагается, что slot
в порядке)
var obj={"driver_data":[{"slot":0,"rideCount":98},{"slot":30,"rideCount":75},{"slot":100,"rideCount":0}],"passenger_data":[{"slot":0,"rideCount":33},{"slot":30,"rideCount":56},{"slot":100,"rideCount":37}]}
let { driver_data, passenger_data } = obj;
const output = Array.from({ length: driver_data.length }, (_, i) => {
return {
Slot: driver_data[i].slot,
driver_data: driver_data[i].rideCount,
passenger_data: passenger_data[i].rideCount
}
})
console.log(output)