我必须在没有数据库的情况下跟踪汽车和汽车的类型/颜色,我正在寻找一种创建具有可以更新和删除的对象的数组的方法,然后可以调用该数组。
所以也许像这样,我可以通过汽车添加/编辑/删除任何对象属性:
let cars = [];
cars['ferrari'] = "red";
cars["lambo"] = "white";
cars["bentley"] = "silver";
我知道如何通过以下示例获取值:
showcolor = 'ferrari';
alert(cars[showcolor]);
是否可以将新对象推入此数组和/或更新单个汽车并使用查找对象值“法拉利”并将其颜色更改为“黑色”的函数更改该汽车的颜色?另外,如果我想创建一个警报来显示数组的内容,该怎么办?
答案 0 :(得分:1)
或者使用数组,但让数组的每个元素成为一个对象。
let cars = [];
cars.push({ make: 'ferrari', color: 'red' });
cars.push({ make: 'lambo', color: 'white' });
cars.push({ make: 'bentley', color: 'silver' });
console.log(JSON.stringify(cars));
// Make the lambo black instead of white.
cars.find(car => car.make == 'lambo').color = 'black';
console.log(JSON.stringify(cars));
输出为:
[{"make":"ferrari","color":"red"},{"make":"lambo","color":"white"},{"make":"bentley","color":"silver"}]
[{"make":"ferrari","color":"red"},{"make":"lambo","color":"black"},{"make":"bentley","color":"silver"}]
请注意,兰博的颜色已更改。
答案 1 :(得分:0)
您不应该使用数组。使用object:
let cars = {}; // {} creates a new object
cars['ferrari'] = "red";
cars["lambo"] = "white";
cars["bentley"] = "silver";
// add new car
cars['bugatti'] = 'blue';
// update car
cars['lambo'] = 'green'
console.log(cars);
答案 2 :(得分:0)
You can use Map from ES20015 standart.
let cars = new Map([
['ferrari', 'red'],
['lambo', 'white'],
['bentley', 'silver']
]);
console.log(cars.get('ferrari')) // red
您还可以添加汽车:
cars.set('bmw','black');
console.log(cars.get('bmw')) // black
有关更新:
cars.set('bmw','blue')
;
使用for ... of
来获取警报数据:
for(let car of cars) {
alert(car);
}
答案 3 :(得分:0)
使用面向对象的JavaScript
class Cars{
constructor(color) {
this.color= color;
}
function getColor(){
console.log(this.color);
}
然后创建一个瞬间
var mycar = new Cars('Blue');
mycar.getColor();