在 Javascript "Class" 到 Return 数组的每个项目中使用数组映射
Using Array Map in a Javascript "Class" to Return Each Item of the Array
我正在尝试构建一些程序来娱乐和学习。我遇到以下问题:
function Hero(name) {
this.name = name;
this.addItem = function(item) {
this.items = this.items || [];
this.items.push(item);
};
// ....
this.viewItinerary = function() {
this.items.map(function(currItem){
return currItem;
});
};
}
var alex = new Hero("Alex");
alex.addItem("Sword");
alex.addItem("Shield");
console.log(alex.viewItinerary());
// returns undefined. why does it not return items in array?
如果我用 console.log(currItem) 替换 return 语句,它就可以工作。那么为什么我的代码 returning 未定义?有什么想法吗?
谢谢
因为你的函数没有return任何东西
尝试:
this.viewItinerary = function() {
return this.items;
};
还有Array.mapreturn一个新数组。
map
returns 一个新数组,除非你 return 它的结果 return 类型 viewItinery
未定义,因此这行
console.log(alex.viewItinerary());
日志未定义。要修复它,只需添加一个 return
this.viewItinerary = function() {
return this.items.map(function(currItem){
return currItem;
});
};
我正在尝试构建一些程序来娱乐和学习。我遇到以下问题:
function Hero(name) {
this.name = name;
this.addItem = function(item) {
this.items = this.items || [];
this.items.push(item);
};
// ....
this.viewItinerary = function() {
this.items.map(function(currItem){
return currItem;
});
};
}
var alex = new Hero("Alex");
alex.addItem("Sword");
alex.addItem("Shield");
console.log(alex.viewItinerary());
// returns undefined. why does it not return items in array?
如果我用 console.log(currItem) 替换 return 语句,它就可以工作。那么为什么我的代码 returning 未定义?有什么想法吗?
谢谢
因为你的函数没有return任何东西
尝试:
this.viewItinerary = function() {
return this.items;
};
还有Array.mapreturn一个新数组。
map
returns 一个新数组,除非你 return 它的结果 return 类型 viewItinery
未定义,因此这行
console.log(alex.viewItinerary());
日志未定义。要修复它,只需添加一个 return
this.viewItinerary = function() {
return this.items.map(function(currItem){
return currItem;
});
};