如何从普通的JavaScript数组创建kotlin.collections.Set?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从普通的JavaScript数组创建kotlin.collections.Set?相关的知识,希望对你有一定的参考价值。
我试图从普通的javascript调用已编译成JavaScript的Kotlin模块。模块内部的Kotlin方法之一需要传递kotlin.collections.Set
。如何从纯JavaScript数组创建这样的set对象?我查看了编译后的代码,Kotlin对Kotlin.kotlin.collections.setOf_i5x0yv$
这样的方法进行了内部引用,但我认为没办法从外部调用这些代码。
答案
根据Kotlin documentation集不在Javascript中表示。
另一方面,数组被映射。因此,可以编写一个简单的函数,将Javascript数组映射到Kotlin集。
@JsName("createSetFromJsArray")
fun <TValue> createSetFromJsArray(array: Array<TValue>) = array.toSet()
从Javascript调用Kotlin函数时可以使用此函数,如下所示:
var test = ["a", "b", "c"];
aKotlinFunction(createSetFromJsArray(test));
和Kotlin函数实现如下:
@JsName("aKotlinFunction")
fun aKotlinFunction(test: Set<String>) {
console.log("aKotlinFunction called with param ${test.joinToString()}")
}
以上是关于如何从普通的JavaScript数组创建kotlin.collections.Set?的主要内容,如果未能解决你的问题,请参考以下文章
如何在javascript中从内部JSON数组创建具有一些属性的数组
如何从SharePoint列表创建javascript数组?
如何从 SQL where 子句创建一个 JavaScript 函数,以将其作为谓词传递给 JavaScript 数组的过滤函数?