数组节点js中数据更改的事件侦听器

维涅斯瓦兰A

我有一个大小为3的数组。当数组值更改时,我需要动态调用一个函数。任何的想法?

var arr = ["","",""];

arr[0] = 'first value is chagned';
arr[1] = 'second value is chagned';


function arrFunction(){
    console.log('Array value changed')
}

预期产量

数组值已更改

数组值已更改

我知道我们可以通过直接调用函数来实现这一点,如下所示。作为参考,我提供了这些信息。我不能直接调用如下函数

var arr = ["","",""];

arr[0] = 'first value is chagned';
arrFunction()
arr[1] = 'second value is chagned';
arrFunction()

function arrFunction(){
    console.log('Array value changed')
}
乔治

如果您的目标支持Proxies很容易做到:

let observe = (obj, fn) => new Proxy(obj, {
    set(obj, key, val) {
        obj[key] = val;
        fn(obj)
    }
});

arr = observe(['', '', ''], arr => {
    console.log('arr changed! ', arr)
});

arr[0] = 'first value is chagned';
arr[1] = 'second value is chagned';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用addEventListener获取附加到节点的事件侦听器

在调试时或从JavaScript代码中如何在DOM节点上查找事件侦听器?

作用域变量在事件侦听器更改后未在DOM中更新

如何在一个div的所有子节点和这些div的数组中添加事件侦听器?

无法从ReasonReact中的事件侦听器获取事件数据

事件侦听器中的匿名函数与事件侦听器中的匿名函数

节点JS异步执行和事件发出/侦听器模型

Javascript事件侦听器和数组

如何将事件侦听器添加到数组中的每个元素?

jQuery中的单击事件侦听器

如何获取在Appcelerator Titanium中更改的事件侦听器keyboardframe的返回值?

如何在node.js事件侦听器中获取事件名称?

如何从JavaFX中的其他控件事件侦听器更改Slider值?

bone.js:防止在模型更改时触发侦听器事件

Embers js中的更改侦听器上的组合框

是否可以为数组中的每个对象定义事件侦听器?

如何通过事件侦听器在Matlab gui中的动画行中添加数据点?

在JQuery中迭代数组中的新事件侦听器

如何让 DOM/事件侦听器知道新添加的节点?

创建一个事件侦听器来侦听变量中的值是否已更改

Firebase onDataChange - 值事件侦听器不侦听更改

Java 中的事件(侦听器)

如何减慢节点 JS 事件侦听器的速度?

事件侦听器以获取数组中的下一项

事件侦听器和转换 JS

访问事件侦听器的 javaScript 中的数组元素

如何在动态字符串的反应js中事件侦听器或单击侦听器?

类中的 Javascript 事件侦听器

如何从 vanilla JS 事件侦听器修改 Vue 数据?