gpt4 book ai didi

javascript - 阻止 Smart Client 将 Array 类元素添加到我的数组中

转载 作者:行者123 更新时间:2023-12-03 12:18:29 25 4
gpt4 key购买 nike

我目前正在工作中构建一个项目,需要我拉入一组对象,并将它们固定在 map 上。

我将标记存储在数组中,以便在用户搜索不同条件时可以重置 map 。
在我添加智能客户端之前,这一切都运行得很完美。

我对Smart Client不太熟悉,但它似乎向我的数组添加了一个Array类对象,从而破坏了我的for循环。

var wrap = (function() {
var arr;

function myFunc(a) {
for (var i in arr)
arr[i] = null; //doing this to set all markers to null
}
arr = [];
for (var i in a) {
arr.push(a[i]);
}
}

return {
doSomething: function(a) { myFunc(a); }
}
})();
wrap.doSomething([1,2,3,4]);
wrap.doSomething([1,2,3,4]);

这给了我一个 TypeError: undefined is not a function 错误。

smartclient library ,智能网关。我已包含以下文件。

<script>var isomorphicDir = "/smartclient/isomorphic/";</script>
<script src="/gmap/smartclient/isomorphic/system/modules/ISC_Core.js"></script>
<script src="/smartclient/isomorphic/system/modules/ISC_Foundation.js"></script>
<script src="/smartclient/isomorphic/system/modules/ISC_Containers.js"></script>
<script src="/smartclient/isomorphic/system/modules/ISC_Grids.js"></script>
<script src="/smartclient/isomorphic/system/modules/ISC_Forms.js"></script>
<script src="/smartclient/isomorphic/system/modules/ISC_DataBinding.js"></script>
<script src="/smartclient/isomorphic/skins/Enterprise/load_skin.js"></script>

无论在我自己的js之前还是之后初始化这些文件,我仍然遇到相同的错误。

我对可行的替代方案持开放态度,这些替代方案提供了更好/更干净的解决方案,可以用 javascript 生成大型、动态可排序和可分组的表格。

最佳答案

我也不熟悉智能客户端,但您的代码中存在一个问题,应该可以解释类型错误。 wrap 变量设置为 IIFE(从第 1 行开始的函数)的返回值。由于它不返回任何内容,因此包装将是未定义的。 doSomething 只是 IIFE 的本地函数,因此您无法在其外部调用它。

另外,你的示例代码中的大括号好像有问题?与 } 相比,{ 过多...

假设您使用花括号纠正了问题,则可以通过在换行 IIFE 末尾添加以下内容来摆脱它(在最后一个 for 循环之后):

return {
doSomething: doSomething
};

这应该将一个对象分配给wrap变量,

关于javascript - 阻止 Smart Client 将 Array 类元素添加到我的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24558374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com