你如何从Kotlin调用JavaScript删除?

时间:2015-02-09 01:31:27

标签: javascript kotlin

我正在与Kotlin的第三方图书馆合作,我必须做的一件事就是致电delete thing[key],以便从商品中删除商品。我无法从Kotlin代码中弄清楚如何做到这一点。

我确实试过了js("delete thing[key]"),但是东西是函数的参数,并且被Kotlin>命名为。 JavaScript编译器,因此在执行该行时会抛出异常。我也试过了js("delete ") thing[key],但不出所料,它也没有用。

1 个答案:

答案 0 :(得分:4)

对于delete运算符您可以写:

external fun delete(p: dynamic): Boolean = noImpl
//...
delete(thing[key])

为方便使用,我添加了一些助手:

fun delete(thing: dynamic, key: String) {
  delete(thing[key])
}

// or
fun String.deleteFrom(d: dynamic) {
  delete(d[this])
}

fun test(a: Any, k: String) {
    delete(a, k)
    k.deleteFrom(a)
    k deleteFrom a
}

注意:使用delete运算符不是一个好习惯,它会导致JS VM中的去优化