Javascipt数组,从一组变量构建

时间:2020-06-01 18:55:22

标签: javascript arrays

我是一名Javascript学习者。我一直在寻找答案。 以下变量是通过Car原型定义的:

var Car = function(maker, type, model) {
  this.maker = maker;
  this.type = type;
  this.model = model;
}

var golf = new Car('VW', 'Hatchback', 'Golf');
var sentra = new Car('Nissan', 'Sedan', 'Sentra');
var _328i = new Car('BMW', 'Convertible', "328i");
var gallardo = new Car('Lamborghini', 'Convertible', "Gallardo");
var corniche = new Car('Rolls Royce', 'Sedan', "Corniche");

Car.prototype.year = 0;

golf.year = 2015;
sentra.year = 2010;
_328i.year = 2019;
gallardo.year = 2020;
corniche.year = 1998;  

如何为属性maker构建一个由var值组成的数组

类似这样的控制台日志:

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

谢谢。

3 个答案:

答案 0 :(得分:1)

您可以创建一系列汽车实例,并使用map函数

Surgery = string.Join(",", WYNKContext.SurgeryTran
    .Where(surgTran => surgTran.SurgeryID == e.SurgeryID)
    .Select(surgTran => icdmaster
        .Where(icd => icd.ID == surgTran.IcdSpecialityCode)
        .Select(icd => icd.SpecialityDescription)
        .FirstOrDefault())),

答案 1 :(得分:0)

有很多解决方案。首先,您需要对所有汽车进行排列,然后使用一种方法对每辆汽车进行迭代以获取汽车制造商。

这里有两个例子:

var Car = function (maker, type, model) {
  this.maker = maker;
  this.type = type;
  this.model = model;
}

Car.prototype.year = 0;

var golf = new Car ('VW', 'Hatchback', 'Golf');
var sentra = new Car ('Nissan', 'Sedan', 'Sentra');
var _328i = new Car ('BMW', 'Convertible', "328i");
var gallardo = new Car ('Lamborghini', 'Convertible', "Gallardo", 2020);
var corniche = new Car('Rolls Royce', 'Sedan', "Corniche");

golf.year = 2015;
sentra.year = 2010;
_328i.year = 2019;
gallardo.year = 2020;
corniche.year = 1998;

var cars = [golf, sentra, _328i, gallardo, corniche]
var carsMakers = []

for(var i = 0; i < cars.length; i++) {
  var c = cars[i]
  carsMakers.push(c.maker)
}
console.log(carsMakers)

var carsMakers2 = cars.map(function(c) { return c.maker });
console.log(carsMakers2)

答案 2 :(得分:0)

就像map方法一样,但使用Array.prototype.from


var Car = function (maker, type, model) {
this.maker = maker;
this.type = type;
this.model = model;
}
var golf = new Car ('VW', 'Hatchback', 'Golf');
var sentra = new Car ('Nissan', 'Sedan', 'Sentra');
var _328i = new Car ('BMW', 'Convertible', "328i");
var gallardo = new Car ('Lamborghini', 'Convertible', "Gallardo");
var corniche = new Car('Rolls Royce', 'Sedan', "Corniche");

Car.prototype.year = 0;

golf.year = 2015;
sentra.year = 2010;
_328i.year = 2019;
gallardo.year = 2020;
corniche.year = 1998;

// Solution here
const makersList = Array.from([golf, sentra, _328i, gallardo, corniche], car => car.maker );

// should print an array of makers string names
console.log(makersList);
相关问题