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);