JS : console.log 在对象数组的末尾显示 "undefined"

JS : console.log displays "undefined" in the end of an array of objects

我想使用 foreach 在控制台上显示一个简单数组的项目。它显示所有项目(没关系),但最后显示“汽车:未定义”。 我不想显示“汽车:未定义”,而只想显示数组的 3 个项目。 怎么办?

var cars = [{
    year: 2011,
    type: "Volvo"
}, {
    year: 1999,
    type: "Volvo"
}, {
    year: 2003,
    type: "Volvo"
}];
console.log("1");

console.log("cars : " + cars.forEach(a => console.log(a)));
console.log("2");

forEach()returnsundefined。像这样尝试

var cars = [{
    year: 2011,
    type: "Volvo"
}, {
    year: 1999,
    type: "Volvo"
}, {
    year: 2003,
    type: "Volvo"
}];
console.log("1");

console.log("cars : ");
cars.forEach(a => console.log(a))
console.log("2");

console.log 输出一个字符串,但 returns 未定义。所以,内层写你的数据,returns undefined,外层写'cars: undefined'

=> 您应该在日志函数中生成一个字符串,如下所示:

console.log("cars :" + cars.map(a => ` ${a.type} ${a.year}` ));

将记录:

cars : Volvo 2011, Volvo 1999, Volvo 2003