0

我正在尝试Javascript array通过Jint. 我们基本上接受javascript跨各种平台并使用Jintfor的应用程序中的自定义代码.NET。我们需要结果相同——无论是 in.NET还是 vanilla JavaScript

        private Engine _engine = new Engine();
        var testList = new List<int> { 1, 2, 3, 4, 5 };
        _engine.SetValue("testList", testList);
        var result = _engine.Execute("'Elements of the array are: ' + testList").GetCompletionValue();
        var finalVal = result.AsString();

我希望结果是:

Elements of the array are: 1,2,3,4,5(类似于香草JavaScript

但是,它会引发异常。

System.InvalidOperationException: No matching indexer found.

请注意,如果我尝试仅访问数组的一个元素(例如testList[1]),它可以正常工作。

我在这里做错了吗?如果没有,那么我可以实现一个自定义索引器来完成这项工作吗?

4

1 回答 1

0

Array.from()用.包围你的 testList 见下面的例子

    private Engine _engine = new Engine();
    var testList = new List<int> { 1, 2, 3, 4, 5 };
    _engine.SetValue("testList", testList);
    var result = _engine.Execute("'Elements of the array are: ' + Array.from(testList)").GetCompletionValue();
    var finalVal = result.AsString();
于 2019-09-24T14:32:17.257 回答