我有一个对象和一个对象数组,现在我尝试使用扩展运算符合并它们,如下所示:
let singleObject = { name: 'John', age: 20 }
let arrayOfObjects = [
{ name: 'Ben', age: 25 },
{ name: 'Casey', age: 30 }
]
let mergedArray = [...singleObject, ...arrayOfObjects];
但是,这不起作用,因为singleObject
只是一个对象,而arrayOfObjects
是一个对象数组。
所以我想知道我是否应该使用不同的方式将对象与数组合并,或者我是否应该以某种方式使对象可迭代?
你可以改变
let mergedArray = [...singleObject, ...arrayOfObjects];
自
let mergedArray = [{...singleObject}, ...arrayOfObjects];
或
let mergedArray2 = Object.assign([], singleObject, ...arrayOfObjects);
let singleObject = { name: 'John', age: 20 }
let arrayOfObjects = [
{ name: 'Ben', age: 25 },
{ name: 'Casey', age: 30 }
]
let mergedArray = [{...singleObject}, ...arrayOfObjects];
console.log(mergedArray)
let mergedArray2 = Object.assign([], [singleObject, ...arrayOfObjects]);
console.log(mergedArray2)
你可以像这样将yopur对象推到数组中,而不是连接
let singleObject = { name: 'John', age: 20 }
let arrayOfObjects = [
{ name: 'Ben', age: 25 },
{ name: 'Casey', age: 30 }
]
arrayOfObjects.push(singleObject);
console.log(arrayOfObjects);
您可以按如下方式使用Array.of
:
let singleObject = { name: 'John', age: 20 }
let arrayOfObjects = [
{ name: 'Ben', age: 25 },
{ name: 'Casey', age: 30 }
]
let mergedArray = [...Array.of(singleObject), ...arrayOfObjects];
console.log(mergedArray);
试试这个
let singleObject = { name: 'John', age: 20 }
let arrayOfObjects = [
{ name: 'Ben', age: 25 },
{ name: 'Casey', age: 30 }
]
let mergedArray = [{...singleObject}, ...arrayOfObjects];
console.log(mergedArray);