我有一个对象:
var obj = {'a':true,'b':false,'c':false,'d':true}
我有一个同步数组,其中包含其值true
在对象中的键。
var arr = ['a','d']
因此,如果obj
更改为以下内容: (a
的值更改为false
)
obj = {'a':false,'b':false,'c':false,'d':true}
然后arr
应该同步到以下内容:(a
元素从中删除arr
)
arr = ['d'];
我想到了两种解决方案:
每当对象更改时,我都会根据对象中键的值对数组中的该键执行推送/删除操作来操作相同的 arr。(在我的情况下,可以使用 angularjs 轻松检测到对象的更新)
每当对象更改时,我都会用新数组替换旧数组,新数组只包含值设置为 in 的那些键
true
。
哪个解决方案更好?