Javascript数组,从一组变量构建

Javascript数组,从一组变量构建,javascript,arrays,Javascript,Arrays,以下变量通过汽车原型定义: var Car=功能(制造商、类型、型号){ this.maker=maker; this.type=type; this.model=模型; } var golf=新车(“大众”、“掀背车”、“高尔夫”); var sentra=新车(“日产”、“轿车”、“sentra”); var_328i=新车(“宝马”、“敞篷车”、“328i”); var gallardo=新车(“兰博基尼”、“敞篷车”、“gallardo”); var corniche=新车(“劳斯莱斯”

以下变量通过
汽车
原型定义:

var Car=功能(制造商、类型、型号){
this.maker=maker;
this.type=type;
this.model=模型;
}
var golf=新车(“大众”、“掀背车”、“高尔夫”);
var sentra=新车(“日产”、“轿车”、“sentra”);
var_328i=新车(“宝马”、“敞篷车”、“328i”);
var gallardo=新车(“兰博基尼”、“敞篷车”、“gallardo”);
var corniche=新车(“劳斯莱斯”、“轿车”、“corniche”);
Car.prototype.year=0;
高尔夫。年份=2015年;
sentra.year=2010年;
_328i.年=2019年;
加拉多年=2020年;
corniche.year=1998年;
如何为属性
maker

控制台日志可能如下所示:


(5) ['VW','Nissan','BMW','Lamborgini','Roll-Royce']

您可以创建一个汽车实例数组并使用该函数

console.log(
[golf,sentra,_328i,gallardo,corniche].map((car)=>car.maker)
)

有很多解决方案。首先,您需要为所有汽车创建一个数组,然后使用一种方法对每辆汽车进行迭代以获得汽车制造商

这里有两个例子:

var Car=功能(制造商、类型、型号){
this.maker=maker;
this.type=type;
this.model=模型;
}
Car.prototype.year=0;
var golf=新车(“大众”、“掀背车”、“高尔夫”);
var sentra=新车(“日产”、“轿车”、“sentra”);
var_328i=新车(“宝马”、“敞篷车”、“328i”);
var gallardo=新车(“兰博基尼”、“敞篷车”、“gallardo”,2020年);
var corniche=新车(“劳斯莱斯”、“轿车”、“corniche”);
高尔夫。年份=2015年;
sentra.year=2010年;
_328i.年=2019年;
加拉多年=2020年;
corniche.year=1998年;
var cars=[高尔夫、森特拉、加拉多、科尼切]
var carsMakers=[]
对于(变量i=0;iconsole.log(carsMakers2)
map
方法类似,但使用
Array.prototype.from


var Car=功能(制造商、类型、型号){
this.maker=maker;
this.type=type;
this.model=模型;
}
var golf=新车(“大众”、“掀背车”、“高尔夫”);
var sentra=新车(“日产”、“轿车”、“sentra”);
var_328i=新车(“宝马”、“敞篷车”、“328i”);
var gallardo=新车(“兰博基尼”、“敞篷车”、“gallardo”);
var corniche=新车(“劳斯莱斯”、“轿车”、“corniche”);
Car.prototype.year=0;
高尔夫。年份=2015年;
sentra.year=2010年;
_328i.年=2019年;
加拉多年=2020年;
corniche.year=1998年;
//这里的解决方案
const makersList=Array.from([golf,sentra,_328i,gallardo,corniche],car=>car.maker);
//应该打印一个字符串名称数组
console.log(makersList);

如何创建数组并使用
array.from()
及其映射函数比直接在数组上使用映射函数更有效
Array.from()
在这里是多余的,这只是做同样事情的另一种方法。将修正性能指控。如果它是多余的或不是它的人问:)谢谢拉斐尔。没错,没错,呃,也许不是。我以为你提取了变量名,但实际上你输入了它们(?)。您不能通过汽车原型参考来提取var名称(术语可能是错误的)。谢谢这就是你想要的:谢谢你的回复。正如另一位评论员所说,“有很多解决方案。”你的观点很有趣。我想我们可以找到变量;高尔夫、sentra等,参考汽车原型,然后是房地产“制造商”。您似乎手动输入了var名称。如果有一百个,这可能是一个负担。有什么想法吗?谢谢,拉斐尔把我的想法记在心里了这里的解决方案const makersList=Array.from([golf,sentra,328i,gallardo,corniche],car=>car.maker);//应该打印一组makers字符串名称console.log(MakerList);