Javascript forEach在我的数组行之间显示未定义

Javascript forEach在我的数组行之间显示未定义,javascript,arrays,foreach,Javascript,Arrays,Foreach,我是Javascript的初学者 我试图创建一个包含联系人列表的数组,然后用“forEach”显示所有联系人。 我的问题是我的联系人之间“未定义”。 我的代码: var Person = { init : function (name, firstname) { this.name = name; this.firstname = firstname; }, myContact : function() { console.log('Name

我是Javascript的初学者

我试图创建一个包含联系人列表的数组,然后用“forEach”显示所有联系人。 我的问题是我的联系人之间“未定义”。 我的代码:

var Person = {
   init : function (name, firstname) {
    this.name = name;
    this.firstname = firstname;
   },

    myContact : function() {
       console.log('Name : ' + this.name + ', Fistname : ' + this.firstname);
   }

};

var carole = Object.create(Person);
carole.init('Lévisse', 'Carole');

var melodie = Object.create(Person);
melodie.init('Nelsonne', 'Mélodie');

var contacts = [carole, melodie];

console.log('All your contacts :');

contacts.forEach(function(indiv) {
    console.log(indiv.myContact());
});
结果是:

*所有联系人:

名字:莱维斯,名字:卡罗尔

未定义

名字:内尔森,名字:梅洛迪

未定义*

怎么了?
提前感谢

您将
console.log()
翻了一番

在这里,您基本上是在执行
console.log(function(){console.log(…)})

函数
没有
return
语句,因此它返回:
undefined

要解决此问题,请删除
console.log()

var-Person={
init:函数(名称,firstname){
this.name=名称;
this.firstname=firstname;
},
myContact:function(){
console.log('Name:'+this.Name+',Fistname:'+this.firstname);
}
};
var carole=Object.create(Person);
卡罗尔。init('Lévisse','carole');
var melodie=Object.create(Person);
melodie.init('Nelsonne','Mélodie');
变量触点=[carole,melodie];
log('您的所有联系人:');
联系人。forEach(功能(独立){
indiv.myContact();//在此处删除了一个console.log()

});
@Zenoo根据函数的命名
myContact
控制台。应从
myContact
函数中删除日志。而不是从
forEach