说我有
val obj1 = js.Dynamic.literal(attr1 = "x")
val obj2 = js.Dynamic.literal(attr2 = "y")
Run Code Online (Sandbox Code Playgroud)
我想把obj1和obj2组合成屈服和对象
{attr1 = "x", attr2 = "y"}
Run Code Online (Sandbox Code Playgroud)
js.Dynamic有一种产生这种组合的方法吗?
没有现成的方法可以做到这一点.在ES6中有Object.assign,但在IE中不支持.
我建议在Scala.js中重新实现它:
def mergeJSObjects(objs: js.Dynamic*): js.Dynamic = {
val result = js.Dictionary.empty[Any]
for (source <- objs) {
for ((key, value) <- source.asInstanceOf[js.Dictionary[Any]])
result(key) = value
}
result.asInstanceOf[js.Dynamic]
}
Run Code Online (Sandbox Code Playgroud)
而现在你可以做到
mergeJSObjects(obj1, obj2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |