【发布时间】:2019-08-01 16:48:59
【问题描述】:
我有几个对象数组
a=[ {v:10}, {v:11}, {v:12}, {v:13} ]
b=[ {v:20}, {v:21}, {v:22}, {v:23} ](等)
以及我要替换的对象的引用列表。
我没有 index 到数组中,但我确实有 对我想要替换的项目的引用
这样的引用:s1=a[2] 或 s1=b[0]
如何在不知道它引用哪个数组的情况下使用此引用替换实际数组的元素?
这不起作用:s1 = {v:'new'},因为它只替换 s1,而不是数组的元素
这没有用 s1.v='new' ,因为实际上,我的对象很复杂,有很多属性,我不想逐个属性地更新它们。
谢谢!
【问题讨论】:
-
完全相同的as before - 查找项目的索引,然后用该索引替换。
-
你的意思是在一个特定的数组中替换它们(很容易做到),或者在它们碰巧在的任何数组中,而不通过数组列表? (不可能 AFAIK。)
-
@kshetline:是的,我害怕后者。
-
不过,您可以更新这些对象的内容,内容的更新会自动出现在各处。
标签: javascript arrays pointers properties reference