我有一个基本上由一些汽车名称组成的对象。我只想根据用户输入删除该对象的键。
例如:
let cars = {
car1: 'BMW',
car2: 'Lambo',
car3: 'Mercedes'
};
const deleteCar = (car) => {
delete cars.car;
}
deleteCar('car1');
console.log(cars);
如您所见,它实际上并没有从对象中删除密钥。我该怎么办?
答案 0 :(得分:1)
foo.bar
等效于foo["bar"]
。因此,如果car
是字符串,则delete cars[car]
做正确的事情(而delete cars.car
试图删除原本的文本键"car"
,而您没有)。>
答案 1 :(得分:1)
使用方括号([]
)表示法可让我们动态访问属性名称:
let cars = {
car1: 'BMW',
car2: 'Lambo',
car3: 'Mercedes'
};
const deleteCar = (car) => {
delete cars[car];
}
deleteCar('car1');
console.log(cars);