具有动态可编辑对象和值的Javascript数组
我必须在没有数据库的情况下跟踪汽车和汽车类型/颜色,我正在寻找一种方法,用我可以更新和删除的对象创建一个数组,然后能够调用该数组 因此,我可以像这样通过汽车添加/编辑/删除任何对象属性:具有动态可编辑对象和值的Javascript数组,javascript,arrays,object,Javascript,Arrays,Object,我必须在没有数据库的情况下跟踪汽车和汽车类型/颜色,我正在寻找一种方法,用我可以更新和删除的对象创建一个数组,然后能够调用该数组 因此,我可以像这样通过汽车添加/编辑/删除任何对象属性: let cars = []; cars['ferrari'] = "red"; cars["lambo"] = "white"; cars["bentley"] = "silver"; 我知道如何通过以下示例获取值: showcolor = 'ferrari'; alert(cars[showcolor]);
let cars = [];
cars['ferrari'] = "red";
cars["lambo"] = "white";
cars["bentley"] = "silver";
我知道如何通过以下示例获取值:
showcolor = 'ferrari';
alert(cars[showcolor]);
是否可以将新对象推入该数组和/或更新一辆车,并使用查找对象值“ferrari”并将其颜色更改为“black”的功能更改该车的颜色?另外,如果我想创建一个警报来显示数组的内容,我该如何做呢?您不应该使用数组。使用一个:
let cars={};//{}创建一个新对象
汽车[‘法拉利’]=“红色”;
汽车[“兰博”]=“白色”;
汽车[“宾利”]=“银色”;
//增加新车
汽车['bugatti']=“蓝色”;
//更新汽车
汽车['lambo']='green'
控制台.日志(汽车)代码>
console.log(cars.get('ferari'))//红色
您还可以添加汽车:
cars.set('bmw','black')代码>
console.log(cars.get('bmw'))//黑色
更新:
cars.set('bmw','blue')
对…使用。。。警报数据的
:
for(出租汽车中的汽车){
警报(car);
}
使用面向对象的JavaScript
class Cars{
constructor(color) {
this.color= color;
}
function getColor(){
console.log(this.color);
}
然后创造一个瞬间
var mycar = new Cars('Blue');
mycar.getColor();
或者使用数组,但让数组的每个元素都是一个对象
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"}]
请注意,lambo颜色已更改。您考虑过使用地图吗?或者一个对象的对象,其中键是make。因此,您可以访问汽车属性,如汽车['Ferrari']['color']
。这是坚如磐石的。毫无疑问,有几种方法可以做到这一点,我很感谢大家的努力。这肯定会对我的车有帮助。非常感谢。
[{"make":"ferrari","color":"red"},{"make":"lambo","color":"white"},{"make":"bentley","color":"silver"}]
[{"make":"ferrari","color":"red"},{"make":"lambo","color":"black"},{"make":"bentley","color":"silver"}]