javascript - 你如何从 Kotlin 中调用 JavaScript delete?

标签 javascript kotlin

我正在使用 Kotlin 的第三方库,我必须做的一件事是调用 delete thing[key] 以从事物中删除项目。我无法从 Kotlin 代码中弄清楚如何做到这一点。

我确实尝试了 js("delete thing[key]"),但是 thing 是一个函数的参数并且被 Kotlin > JavaScript 编译器命名,所以当行被执行。我还尝试了 js("delete ") thing[key] 但毫不奇怪,它也没有用。

最佳答案

对于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 中的去优化

关于javascript - 你如何从 Kotlin 中调用 JavaScript delete?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28401523/

相关文章:

javascript - 使用 react-router v4 和 express.js 渲染服务器

javascript - 即使模态框关闭,视频也会继续播放

kotlin - 意外覆盖 : The following declarations have the same JVM signature

kotlin - zip 3个等长列表

java - Kotlin java.lang.NoSuchMethodException:<init>()

android - 如何通过包含依赖项的 gradle 制作 jar

javascript - 如何在 jstree 3 中为叶节点显示类似文件的图标

javascript - 如何使用 Gmail API 和 Javascript 发送结构化电子邮件标记?

javascript - 如何在 jquery + jquery mobile 中创建自定义下拉菜单

Kotlin supplyAsync with executor