当数组为“0”时,在javascript中运行函数;书面的;或;改为;

当数组为“0”时,在javascript中运行函数;书面的;或;改为;,javascript,arrays,local-storage,event-listener,alasql,Javascript,Arrays,Local Storage,Event Listener,Alasql,我有一个数组(实际上是来自alasql的数据库数据),我想在脚本中“写入”或“读取”时运行一个函数 “writed”代表push,pull和赋值运算符,如= 而“read”则表示直接访问数组值,如array(整个数组)、array[0](数组的一个元素)等,以及读取属性,如array.length 实际上,我使用这些函数访问localStorage 我已经读过了,但我仍然没有自己的解决方案,因为这里有一些限制 我不仅要监视push(),还要监视=,因此覆盖推送方法对我不起作用 这个数组实际上是由

我有一个数组(实际上是来自
alasql
的数据库数据),我想在脚本中“写入”或“读取”时运行一个函数

“writed”代表
push
pull
赋值运算符,如
=

而“read”则表示直接访问数组值,如
array
(整个数组)、
array[0]
(数组的一个元素)等,以及读取属性,如
array.length

实际上,我使用这些函数访问
localStorage

我已经读过了,但我仍然没有自己的解决方案,因为这里有一些限制

  • 我不仅要监视
    push()
    ,还要监视
    =
    ,因此覆盖推送方法对我不起作用
  • 这个数组实际上是由javascript库
    alasql
    创建的,我不打算更改库代码,因为这可能是一个很大的任务,所以不可能创建自定义的可观察数组
  • 库直接为SQL语句访问数组,因为它存储SQL表的数据,因此不可能使用代理
  • 我的脚本将在
    firefox
    上运行,在运行xp的慢速计算机上运行,该计算机至少是10年前购买的,具有<1GB RAM和单核CPU等硬件,而实际上是SQL表的数组将有10000个条目,因此该数组需要性能。如果我使用像这样的库,它依赖于每250毫秒扫描一次,那么这台愚蠢的计算机就会死掉
  • 使用智能采集。实际上,我不知道github上的自述文件在谈论什么,但我认为它不会起作用,因为我必须为它创建另一个数组(?)
  • 使用
    alasql
    localStorage引擎,很好,最初这可能是最好的,我试过了。但当我发现它的一部分阻碍了我的工作时,我决定离开它 我会很高兴,如果有人能给我一个解决方案,如何做的把戏,因为这是一个主要的和大的问题,在我的项目到目前为止


    备注:我的项目是开发一个HTML页面,该页面运行一个POS类系统,带有SQL的销售和借阅功能,它将在一台没有互联网连接的哑旧计算机上运行。

    我想你需要代理。@torazaburo我试过了,发现它无法使用,因为我必须使用代理访问阵列,问:你的观点#2:你能指出负责这一点的代码吗?(这里不熟悉)我也是。我刚刚见过这个库一个星期,所以我甚至没有看它的源代码。但是要使用“创建一个可观察的数组”,你必须用一个自定义构造函数生成一个新的自定义数组,如果库代码没有大的变化,这是不可能的,所以我正在阻止它,并寻找一个更好的解决方案。可以编辑最后的注释并删除单词“suck”。我想你需要代理。@torazaburo我试过了,发现它无法使用,因为我必须使用代理访问数组,sql intreputer不会这样做。Re:你的观点#2:你能指出负责这一点的代码吗,特别是在该repo中?(这里不熟悉)我也是。我刚刚见过这个库一个星期,所以我甚至没有看它的源代码。但是要使用“创建一个可观察的数组”,你必须用一个自定义构造函数生成一个新的自定义数组,如果库代码没有大的变化,这是不可能的,所以我正在阻止它,并寻找一个更好的解决方案。可以编辑最后的注释并删除“suck”一词。