更新:
很多人问为什么不使用[arr[0], arr[1]]
。问题是我必须将这个数组传递给一个方法,而我没有访问Angular Material Table的权限。而且我不想一遍又一遍地调用这个方法。
我已经处理了arr
数组,我不想处理pointer
数组来反映新数据,因为我已经知道它在哪里。
Nina Scholz的答案似乎解决了这个问题。
有没有办法在Javascript中像C语言一样使用“指针”?
我的目的是:
我有一个对象数组
const arr = [
{prop: 3},
{prop: 4},
];
我希望有一个数组来指向这个数组的位置。
const pointer = [arr[0], arr[1]]; // I want pointer to point to be an array containing the first and second elements of arr
这将获取对{prop: 3}
和{prop: 4}
对象的引用,但这不是我想要的,因为如果我执行以下操作:
arr.splice(0, 0, {prop: 1}); // arr => [{prop:1},{prop:3},{prop:4}]
console.log(pointer); // [{prop: 3},{prop: 4}]
如您所见,pointer
持有对对象 {prop:3}
与 {prop:4}
的引用。
如何让 pointer
持有对数组位置0的引用,而不是存储在其中的对象?因此,在这个例子中,pointer => [{prop:1},{prop:3}]
?
我不能一直调用 pointer = [arr[0], arr[1]]
,因为 arr
将会不断地异步变化。
是否存在一种“响应式”处理数组的方法?
0
处的对象,只需要使用arr[0]
... 它会返回此时的当前值。 - Herohtar