javascript - 在位于对象键中的数组内推送值时出现问题
问题描述
假设我有以下功能:
const createMenu = () => {
const obj = {
consumption: [],
};
return obj;
};
这是一个函数,调用时返回对象
{ consumption: [] }
我要做的是在该对象内创建一个键,该键是一个函数,当使用字符串参数调用该函数时,它将字符串推入键“消费”内的数组中;
这是我的尝试:
const createMenu = () => {
const obj = {
consumption: [],
};
let order = (item) => {obj.consumption.push(item); };
obj.order = order;
return obj;
};
预期的结果是,当使用字符串参数在对象内部调用该函数时,如下所示:
createMenu().order('pizza');
当我运行时:
console.log(createMenu().consumption);
我的结果是:
['pizza']
但它不工作。如果有人可以帮助我,我将不胜感激。
const createMenu = () => {
const obj = {
consumption: [],
};
let order = (item) => {
obj.consumption.push(item);
};
obj.order = order;
return obj;
};
createMenu().order('pizza');
console.log(createMenu().consumption);
解决方案
您创建了两个 createMenu 实例,您可能想要创建 1
const menu = createMenu()
此外,如果您想链接函数,您将需要按顺序再次返回 obj。
下面是一个例子..
const createMenu = () => {
const obj = {
consumption: [],
};
let order = (item) => {
obj.consumption.push(item);
return obj;
};
obj.order = order;
return obj;
};
const menu = createMenu().order('pizza');
console.log(menu.consumption);
推荐阅读
- docker - FFmpeg concat 产生不良视频
- angular - 未捕获的类型错误:无法在 getOriginalError 处读取未定义的属性“ngOriginalError”-当 httpClient 返回字符串时
- twitch - Twitch API:是否可以检索当前观看流媒体的人的设备 ID?
- python-3.x - 标准化 PC 的 KMeans 聚类图
- selenium - Appium Parallel Test Execution 删除一个设备的驱动程序,显示会话已终止或未启动
- c# - FakeItEasy:根据表达式返回不同的对象
- python - 在将对象附加到列表时删除引号
- haskell - 如何检查一个 IO() 是否等价于另一个 IO()?
- python - 日志队列和多处理问题
- python - 我在 django 管理站点中看不到对象的标题。只看这个:modelName object (2)