问题标签 [object-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
39 浏览

php - 使用魔术常量访问对象属性

我即将从控制器对象中加载一个语言对象作为属性,如下所示:

在我的控制器对象的方法中,我目前正在访问这样的特定翻译:

但我想要这样的东西使它“更精简”的代码:

有人知道如何正确使用对象表示法中的魔术常数吗?不幸的是,我在这里或官方 php.net 网站上没有找到任何答案

0 投票
2 回答
669 浏览

javascript - 在 vue 中访问 Object 属性的问题

我正在尝试访问 vue 组件计算属性中的 Object 属性,但我收到一条错误消息,指出该属性未定义。我在这里设置了一个原型。当我尝试使用

Vue 抱怨

[Vue 警告]:渲染错误:“TypeError:playerentry.stats.RecYards 未定义”

并查看 Computed 下的 vue.js devtools 我看到playerReceivingStats:"(error during evaluation)" 这是相关代码:

boxscore.js

模板

我已经尝试了括号和点符号,但仍然没有好处。我看到 console.log 中的值打印正常。但是当我可以在 devtools 中看到对象属性时,我不知道为什么它说未定义。另请注意,如果我将计算中的 eval 缩短为playerEntry.stats.RecYards我没有收到错误?但是我得到了不正确的结果。非常感谢任何帮助。

更新:

这是有效的计算属性:

0 投票
1 回答
105 浏览

javascript - JavaScript Object w/Async + forEach 循环 - 赋值问题

我的目标是创建一个对象,“tallys”,它为游戏中的每个用户都有一个键,分配给这些用户键的值是一个数组,表示每周在游戏中赢得的美元值。首先,我为游戏中的每个用户分配一个长度为 26(表示游戏中的 26 周)的数组,其中包含 26 个值 '0' 来表示每周的 $0 值,通过以下代码开始:

...这会产生一个像这样的对象:

然后,我运行了一点 for 循环,以每周计算每个用户的总数……这里的“j”变量从第 1 周开始,循环运行的时间与游戏运行的时间一样多,如下所示:

在这一点上,我的状态仍然很好——这让我得到了我想要的,两个不同的“总和”数组,用于到目前为止在游戏中发生的两周:

所以这就是事情变得混乱的地方。我修改了之前的函数,每周对我的“sums”数组执行一次 forEach,设计修改“tallys”对象以修改分配给每周的数组位置,并为每个用户使用适当的美元值。(另外,以免这里的“j-1”看起来令人困惑——那是因为我希望将 1 的游戏周分配给数组中的 0 位置而不是第一个位置):

所以我希望在这里得到这样的结果:

...为每个用户提供适当的值。然而!一旦所有循环等都完成,这就是我作为我的计数对象的最终结果:

....等,但对于每个用户。它一遍又一遍地为每个用户分配完全相同的值——它们都以 -4.27 和 -1.41 结束,只是因为那是循环通过的最后一个 'd' 值。

为什么当我的代码中有tallys[weekSum.username]时,它会使用最后一个相关值更新每个用户名,以便每次在 tallys 对象中只更新一个用户名?

提前感谢您的帮助!


编辑:再次感谢大家的帮助。@Bergi 在评论中的回答是正确的。当我按照他的建议编辑创建“计数”的初始代码时——一切正常。我标记为建议答案的@vothanhdat 方法,在该方法中我克隆了初始的“weeks”数组,也解决了这个问题。

0 投票
0 回答
34 浏览

javascript - 更新对象属性会更新该对象中的所有其他相同属性

这让我困惑不已。我正在尝试根据另一个函数提供的变量动态更新对象属性,但是,当我更新属性时,它会更新父对象的所有相同嵌套属性。

我遇到的问题是,当我使用结果访问 topItems.{property}.itemBreakdown[outcome] 中的 MetricValue 对象时,它会更新 TopContributing 对象中所有对象的属性(项目或计数)。例如,如果我尝试在 topItems.one 中更新结果“优秀”,它会将相同的值添加到 topItems.two、3 等。这是怎么回事?我不明白为什么会这样。任何帮助都会很棒!

0 投票
3 回答
237 浏览

javascript - 如何使用 JavaScript 类增加和减少对象中的值?

我正在尝试做一个简单的 Backpack 类来使用 vanilla javascript 查看对象。这样做时,我遇到了一个障碍,因为我无法创建正确的 AddItem 方法或让我的 decrementItem 方法工作。

我的代码如下:

我也很好奇如何将验证添加到我的 decrementItem 方法以检查值是否不会变为负数,因为这会导致一些问题。

0 投票
2 回答
57 浏览

python - 这个 Python 设计模式是怎么命名的?

在 ffmpeg-python 文档中,他们在示例中使用了以下设计模式:

这种设计模式是怎么命名的,我在哪里可以找到更多关于它的信息,它的优缺点是什么?