javascript - 可以使用数组作为对象的属性值吗?
问题描述
我正在尝试为食谱卡编写 JavaScript。我认为使用对象构造函数是最好的,因为我正在创建具有相同标准的多个配方。我需要为成分使用一个数组,但我似乎无法让它发挥作用。唯一会显示的是配方名称,并且数组返回未定义。
我对 JS 非常陌生,所以请像孩子一样为我分解事物,同时也要友善:)
另外,我很抱歉代码是这样写的。我在移动应用程序上,所以我没有像往常一样让我选择将它写在特定的框中。如果您愿意,这里是 CodePen:https ://codepen.io/Nikofem/pen/RwwgGog
这是HTML代码:
<div class="recipe-card">
<aside>
<img src="https://divascancook.com/wp-content/uploads/2015/01/no-bake-engery-bites-peanut-butter-chocolate-healthy-granola-snack-recipe-2.jpg" alt="Granola Engergy Bites" />
</aside>
<article>
<h2 id="name1"></h2>
<h4 id="ingredients1"></h4>
<ul>
<li><span class="icon icon-users"></span><span>10 - 15</span></li>
<li><span class="icon icon-clock"></span><span>15 min</span></li>
</ul>
</article>
</div>
这是我到目前为止的JS代码:
function Recipe(name, ingredients) {
this.name = name;
this.ingredients = [];
}
var recipe1 = new Recipe('Granola Energy Bites', ['1 cup old-fashioned oats', '1/4 tsp salt', '1/4 tsp cinnamon']);
var recipe1Name = recipe1.name;
name1.innerHTML = recipe1Name;
var recipe1Ingredients = recipe1.ingredients[0];
ingredients1.innerHTML = recipe1Ingredients;
解决方案
在您的 javascript 的第 3 行中,您将成分定义为一个空数组。您可以通过编写来解决此问题
this.ingredients = ingredients
反而。如果你愿意,你也可以使用一个叫做解构的漂亮工具,你可以把它写成
this.ingredients = [...ingredients]
推荐阅读
- xslt - FOP XSL-FO 内部页面锚链接 URI 问题
- oracle - 无效的按钮 ID
- java - 打印最后一次出现(打印错误)
- android - 将 Xamarin Forms 视图注入 Android 视图
- python - 当python给出内存错误时,如何读取我的文件中的有限行
- sql-server - SQL Server 12:在 OVER PARTITION BY 中生成逗号分隔的字段
- c# - 获取具有可变编号的两种颜色之间的颜色渐变
- amazon-web-services - 如何使用 tsung 将流量发送到 CloudFront 主机
- c - Linux:长时间运行 2-3 天后写入更新文件失败
- java - ServerPropertiesAutoConfiguration.class 无法打开,因为它不存在