【问题标题】:Javascript equivalent to Ruby's `send` [duplicate]Javascript 等效于 Ruby 的`send` [重复]
【发布时间】:2014-06-20 09:20:11
【问题描述】:

尝试循环我拥有的所有更新字段并在保存之前动态更新它们。

Product.findOne({ _id: productNewData['_id'] }, function (err, doc) {
  for (var key in productNewData) {
    # what do I do here?
  }
  doc.save();
});

我知道 ruby​​ 有这样的发送方法:

doc.send(key) = productNewData[key]

我想我可以验证给定的参数并使用eval。有没有其他办法?

【问题讨论】:

  • 我不确定你在问什么。也许doc[key] = productNewData[key]。 productNewData 是什么?
  • 是的,对不起。如何关闭?

标签: javascript


【解决方案1】:

它们是在 Javascript 中访问属性的两种方式: 使用点符号或括号。示例:

var foo = {bar: 42}
foo.bar // 42
foo["bar"] // 42
var v = "bar"
foo[v] // 42
foo.v // undefined

所以:

Product.findOne({ _id: productNewData['_id'] }, function (err, doc) {
  for (var key in productNewData) {
     doc[key] = productNewData[key]
  }
  doc.save();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 2013-10-01
    • 2013-11-30
    • 2013-05-02
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    相关资源
    最近更新 更多