从数组到映射的数据转换

问题描述 投票:-2回答:2

我正在创建具有其属性(名称,型号,成本)的汽车列表,并将其转换为一种格式,以便对于给定的汽车名称而言,快速检索其型号和成本值

const cars =  [{name: 'Maruthi Dzire', model: '2017', cost:500000},{ name: 'Ford', model: '2019', cost:100000}
];


const getCarDetails = (cars,name) => {

    var carDetails={};

        carDetails = cars
        .filter(item=>item.name===name)
        .map(item => item);     

    return carDetails;
};

console.log(getCarDetails(cars,'Ford'));

[输出:{名称:“ Ford”,型号:“ 2019”,成本:100000}

我正在寻找不同的结果

预期输出:{model:“ 2019”,成本:100000}

请咨询。

javascript arrays
2个回答
1
投票

您可以更改地图以仅返回您需要的键

.map(item => ({ model: item.model, cost: item.cost }))

0
投票

如果您在阵列中拥有名称为ford的单车那么您可以使用JS函数,例如find,findIndex或filter

最好是去探索它:

let fordCar =  cars.find(car => car.name === 'Ford')
delete fordCar.name;

它将得到:{cost: 100000, model: "2019"}

如果具有multiple carsname Ford,则可以执行此操作:

let exceptFordCArs = cars.filter(car => car.name === 'Ford').map(car => delete car.name && car)

它将得到:[{"model":"2019","cost":100000},{"model":"2020","cost":110000}]

© www.soinside.com 2019 - 2024. All rights reserved.