如何使属性动态化(在执行代码之前未知)
How do I make a property dynamic (unknown until the code is executed)?
这是我处理的数据格式:
ChecksCollection = new Mongo.Collection(null);
ChecksCollection.insert({
oddsChecked: ['', ''],
oddsAverages: ['', ''],
oddsCompeting: ['', ''],
...
dynamic属性可以是"赔率检查","赔率平均","赔率竞争"等。这取决于执行时间。如何使下面的代码工作?
var odds = ChecksCollection.findOne().dynamicProperty[index];
您可以使用 transform
选项创建具有 Object.defineProperty
的 getter :
ChecksCollection.findOne({}, {
transform: doc => Object.defineProperty(doc, 'dynamicProperty', {
get: function getDynamicProperty() {
// Your logic here
// This should return a value (unless you want some obscure
// side-effecting getter, which no you don't)
if (this.something) {
return 42;
}
else {
return 53;
}
}
})
);
只要不使用箭头函数(锁定this
),您就可以使用 this
访问 getter 所在的对象。
试试template string
var t = ['oddsChecked', 'oddsAverages', 'oddsCompeting'];
var s = t[i]; // the `i` determined at the running time.
var odds = ChecksCollection.findOne({`${s}`: value})...;
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 反汇编的javascript jit代码调用未知函数
- 如何使属性动态化(在执行代码之前未知)
- 下面类似html5 mp3player代码的动态地址和未知文件名
- 未知node.js和websockets服务器停止.谁修改了我的代码
- 运行servlet代码时未知的数据库
- 如何在之前(未知)动画/效果完成后在jQuery中运行代码
- “未知provider"对于依赖声明在提供商$get函数..但只能在简化的代码中
- 代码覆盖率“未知”;使用jest 15.1.1
- JavaScript代码中的未知错误
- 套接字.错误的请求,响应{"代码":0,"消息";传输未知"}
- 使这段JS代码不引人注目.为未知id编写事件侦听器
- 如何在Node.js中安全地执行未知的Javascript代码
- 为什么我得到一个“未知选项:.babelrc.”当尝试使用babel-cli v6编译我的代码时,预设错误