将值从 observableArray 传递到另一个数组,而不相互引用
Pass values from observableArray to another without referencing to each other
我正在尝试将值从一个observableArray
传递到另一个而不相互引用,如果我更改它们同步的可观察数组值之一并且两者都具有相同的值,那就知道了。
这是jsFiddle
JavaScript:
var test = ko.observableArray([1, 2, 3]);
var test2 = ko.observableArray(test());
test2()[0] = 2;
console.log(test());
console.log(test2());
输出:
[2,2,3]
[2,2,3]
预期:
[1,2,3]
[2,2,3]
尝试这样做:
var test2 = ko.observableArray(test().slice(0));
取而代之的是:
var test2 = ko.observableArray(test());
这是创建底层阵列克隆的简单方法;现在您正在引用同一个阵列。
slice
函数基本上选择从给定索引(在本例中为 0)开始并在数组长度末尾结束的元素(因为它未指定)作为新数组。
来自 KnockoutJS:
切片函数是相当于本机的 observableArray JavaScript 切片函数(即,它返回数组的条目 从给定的开始索引到给定的结束索引)。叫 myObservableArray.slice(...) 等效于调用相同的方法 在底层数组上(即 myObservableArray().slice(...))。
下面是对 JSFiddle 的更新。
相关文章:
- JavaScript变量引用数组时出现问题
- 在 Larawel 中存储引用数组
- 引用数组 JavaScript
- 调用变量以引用数组
- 使用_id引用数组对多个相应文档进行高效查询
- 出现错误:使用javascript引用数组的索引
- 如何在函数参数中引用数组
- 在jsView中引用数组元素
- 在javascript中引用数组的运行时间
- 基本引用数组中的对象
- 为什么当数组更新时,引用数组元素的n't是我的对象
- 从对象键获取引用数组的最快方法
- 在Moongoose (MongoDB)中通过嵌入引用数组查找文档
- AngularJS/JSON:通过值而不是索引来引用数组成员
- Javascript中的引用数组与值数组
- Javascript:使用变量引用数组,而不是复制它
- 使用eval来引用数组
- 如何通过侦听器引用数组中的当前dom元素来更改活动
- 在Javascript中引用数组的最后一个元素
- 如何查找引用数组的三个变量的重复项