javascript - 类似对象 .map() 的 JavaScript 数组
问题描述
您好,我想使用 .map 来切换我的数组的排名和谷物,但是我在 console.log 中得到了一个未定义的结果。基于很棒的反馈,我能够让一切正常工作,但是我仍然对某些事情感到有些困惑。因为我不确定如何将谷物与排名倒序匹配?我完全被难住了。
var breakFastFood =[
{
cereal: "Captain Crunch",
scale: "Yuck!"
},
{
cereal: "Grape Nuts",
scale: "Yum!"
},
{
cereal: "Fruity Pebbles",
scale: "Yuck!"
},
{
cereal: "Oatmeal",
scale: "Yum!"
}
];
var cereals = breakFastFood.map(function(bFood){
return breakFastFood.cereal
});
var rank = breakFastFood.map(function(standing){
return breakFastFood.scale
});
rank.forEach(function(rating){console.log(rating)});
cereals.forEach(function(food){console.log(food)});
解决方案
您没有在return语句中使用函数参数:
var breakFastFood =[
{
cereal: "Captain Crunch",
scale: "Yuck!"
},
{
cereal: "Grape Nuts",
scale: "Yum!"
},
{
cereal: "Fruity Pebbles",
scale: "Yuck!"
},
{
cereal: "Oatmeal",
scale: "Yum!"
}
];
var cereals = breakFastFood.map(function(bFood){
return bFood.cereal
});
var rank = breakFastFood.map(function(standing){
return standing.scale
});
rank.forEach(function(rating){console.log(rating)});
cereals.forEach(function(food){console.log(food)});
您还可以使用简写属性:
var breakFastFood =[
{
cereal: "Captain Crunch",
scale: "Yuck!"
},
{
cereal: "Grape Nuts",
scale: "Yum!"
},
{
cereal: "Fruity Pebbles",
scale: "Yuck!"
},
{
cereal: "Oatmeal",
scale: "Yum!"
}
];
var cereals = breakFastFood.map(({cereal}) => cereal);
var rank = breakFastFood.map(({scale}) => scale);
rank.forEach(function(rating){console.log(rating)});
cereals.forEach(function(food){console.log(food)});
推荐阅读
- angular - 茉莉二传手方法模拟不起作用
- java - 如何从 Android 中的外部存储中获取图像?
- qt - 为什么在 QML TableView 的 syncView 上设置implicitHeight 会大大降低其性能?
- ios - 仅当 playerControls 可见时如何在 AVPlayerController 中显示媒体标题
- python-3.x - 如何使用 Python 3.x 在 HTML 中提取特定元素/文本
- javascript - 我面临以下 reacr-native 应用程序崩溃问题
- database - 系统的高可用性与 CAP 定理中的可用性相同吗?
- javascript - 在 React js 中显示 alt 内容而不是图像
- python - Python:检查字符串列表中的字符串是否不包含变量
- javascript - JS:闭包还是带参数的闭包吗?