如何将数组数据复制到具有数组和字段的对象
How can I copy array data to an object that has an array and also a field?
我有:
var test;
var abc = [1,2,3];
test.active = [];
test.active.$selected = 123;
是否可以将包含[1,2,3]
的数组复制到测试中。激活阵列而不使test.active。$selected = 123消失?
当我尝试test。Active = ABC,则$selected值丢失
您可以将Array.prototype.push()
与apply()
结合使用,将元素复制到test.active
数组,同时保持任何属性不变。
注意:你没有定义test
作为一个对象,所以我已经改变了。
小提琴
var test = {}; // define as object
var abc = [1,2,3];
test.active = [];
test.active.$selected = 123;
// copy abc's elements to test.active, while keeping any of test.active's properties
test.active.push.apply(test.active, abc);
console.log(test.active.$selected); // 123
console.log(test.active[0]); // 1
console.log(test.active[1]); // 2
console.log(test.active[2]); // 3
事实上,是的,这是可能的。但我不确定你是否需要。以简单的方式:
var test;
test.active = [1,2,3];
test.active.$selected = 123;
在这种情况下,你将分配给test.active
一个新的数组。只要所有的JavaScript都是对象,你就可以给它添加一个新属性。但从常识性的角度来看,混合两种不同的数据类型(数组和对象)并不是一个好的做法。所以在你的情况下,我建议对数组和整数值使用单独的属性:
var test;
test.active = [1,2,3];
test.$selected = 123;
注意:如果你有一个更复杂的数组,例如对象等-最好使用任何库来深度克隆它。但这取决于你的具体问题
相关文章:
- 如何在 for 循环中访问 json 数组字段的名称
- 如何通过向用户推送模式引用来更新用户对象's数组字段
- 访问嵌套的 json 数组字段
- PHP 从“选择 - 数组”字段中填充文本框
- 在 Rally SDK 2 中,如何更新数组字段,例如在变更集的工件上
- 遍历 html 模板中的数组字段
- 如何通过按数组字段选择来检索MongoDB文档
- Jquery 添加未传递给 php 的输入数组字段
- 如何在JSON数组字段的基础上从主干集合中提取模型
- 引用到另一个类的数组字段数组字段没有't刷新
- PHP中的HTML数组字段解析
- mongoose.js:我如何从引用的子数组中删除一个属性,同时使用填充和使用其中一个子数组字段作为过滤器
- js serialize()可以处理数组字段名吗?
- 在数组字段上展平嵌套的对象数组
- 如何在mongodb的子文档模式结构中更新数组字段
- 数组字段的弹性搜索日期范围过滤器
- 当数组字段为空时,替换值不能正常工作
- 如何从dc.js / crossfilter / d3中的数组字段中选择元素,并将每个元素用作图表的单独数据点
- 当我从模型中的数组字段中添加或删除对象时,Ember不更新模板
- 从javascript中设置postgres数组字段为null