Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 如何将我的单个对象转换为一个iterable实例,以便将其与另一个数组合并?_Javascript - Fatal编程技术网

Javascript 如何将我的单个对象转换为一个iterable实例,以便将其与另一个数组合并?

Javascript 如何将我的单个对象转换为一个iterable实例,以便将其与另一个数组合并?,javascript,Javascript,我有一个单独的对象和一个对象数组,现在我正尝试使用如下的扩展操作符合并它们: let singleObject = { name: 'John', age: 20 } let arrayOfObjects = [ { name: 'Ben', age: 25 }, { name: 'Casey', age: 30 } ] let mergedArray = [...singleObject, ...arrayOfObjects]; 但是,这不起作用,因为singleObje

我有一个单独的对象和一个对象数组,现在我正尝试使用如下的扩展操作符合并它们:

let singleObject = { name: 'John', age: 20 }

let arrayOfObjects = [
    { name: 'Ben', age: 25 },
    { name: 'Casey', age: 30 }
]

let mergedArray = [...singleObject, ...arrayOfObjects];
但是,这不起作用,因为singleObject只是一个对象,而arrayOfObjects是一个对象数组


所以我想知道我是否应该使用另一种方式将对象与数组合并,或者我是否应该以某种方式使对象可移植?

您可以像这样将yopur对象推入数组,而不是Concatate


让singleObject={name:'John',年龄:20} 设arrayOfObjects=[ {姓名:'Ben',年龄:25}, {姓名:'Casey',年龄:30} ] arrayOfObjects.pushsingleObject; console.logarrayOfObjects 你可以改变

let mergedArray = [...singleObject, ...arrayOfObjects];


让singleObject={name:'John',年龄:20} 设arrayOfObjects=[ {姓名:'Ben',年龄:25}, {姓名:'Casey',年龄:30} ] 让mergedArray=[{…singleObject},…arrayOfObjects]; console.logmergedArray 让mergedArray2=Object.assign[],[singleObject,…arrayOfObjects]; console.logmergedArray2您可以使用Array.of,如下所示:


让singleObject={name:'John',年龄:20} 设arrayOfObjects=[ {姓名:'Ben',年龄:25}, {姓名:'Casey',年龄:30} ] 让mergedArray=[…Array.ofsingleObject,…arrayOfObject]; console.logmergedArray 试试这个


让singleObject={name:'John',年龄:20} 设arrayOfObjects=[ {姓名:'Ben',年龄:25}, {姓名:'Casey',年龄:30} ] 让mergedArray=[{…singleObject},…arrayOfObjects];
console.logmergedArray;您只需将singleObject推送到arrayOfObjects即可;让arrayOfObjects=[{name:'Ben',age:25},{name:'Casey',age:30}];arrayOfObjects.pushsingleObject;console.logarrayofobjects将此对象与数组合并是什么意思?预期的输出是什么?Object.assign[],[singleObject,…arrayOfObjects];那太傻了。创建[singleObject].concatarrayOfObjects加上第二个空数组。然后你让Object.assign从一个新数组到另一个数组逐值复制值?@Thomas你注意到了吗[singleObject,…arrayOfObjects]这里singleObject仍然是引用,我个人不喜欢这样做,原因是尽可能保持事物的纯净。是的,我注意到了。在代码中选中mergedArray2[0]==singleObject。所以您想使用Object.assign来克隆singleObject?那么这个版本应该类似于[Object.assign{},singleObject,…arrayOfObjects]。
let mergedArray = [{...singleObject}, ...arrayOfObjects];
let mergedArray2 = Object.assign([], singleObject, ...arrayOfObjects);