Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript方法将第一个数组(对象)的属性复制到另一个不同长度的数组(对象)中_Javascript_Arrays - Fatal编程技术网

Javascript方法将第一个数组(对象)的属性复制到另一个不同长度的数组(对象)中

Javascript方法将第一个数组(对象)的属性复制到另一个不同长度的数组(对象)中,javascript,arrays,Javascript,Arrays,我有一个对象数组 srcObj = [{a:1, b:2}, {c:3, d:4}] destObj = [{a:1, b:2}] 我想将此数组的值复制到另一个数组中,该数组的长度可能比上面的srcObj数组短。如何构造循环以根据srcObj数组的大小增加destObj数组的长度,然后将缺少的项从srcObj数组插入destObj数组。以下代码完成此工作: 函数containsObject(对象,列表){ var i; 对于(i=0;i

我有一个对象数组

srcObj = [{a:1, b:2}, {c:3, d:4}]

destObj = [{a:1, b:2}]

我想将此数组的值复制到另一个数组中,该数组的长度可能比上面的srcObj数组短。如何构造循环以根据srcObj数组的大小增加destObj数组的长度,然后将缺少的项从srcObj数组插入destObj数组。

以下代码完成此工作:

函数containsObject(对象,列表){
var i;
对于(i=0;i(假设destObj.length
也许:

var i;
while ((i = destObj.length) < srcObj.length) {
  destObj.push(srcObj[i]);
}
vari;
而((i=destObj.length)
?


(但请注意,它只是数组项的一个浅拷贝,从srcObj到destObj;“复制”的对象值实际上由两个数组通过引用共享;这可能是您想要的,也可能不是您想要的)

destObj.length=srcObj.length
目标数组是否包含对源中相同对象的引用,或者它们是具有所有相同属性名称和值的重复对象?它们是具有与源对象匹配的属性名称的重复对象。它也可能有其他属性名..基本正确,只是当您执行
destObj.push(srcObj[i])时是将引用推送到对象还是新对象?如何将srcObj的值分配到destObj中以匹配属性(或键)?