如何在数据数组和对象的合并中使用对象分配而不是扩展语法?
Posted
技术标签:
【中文标题】如何在数据数组和对象的合并中使用对象分配而不是扩展语法?【英文标题】:How to use object assign instead of spread syntax in merge of array of data and object? 【发布时间】:2019-07-29 22:42:50 【问题描述】:我使用扩展语法来获取当前对象。
const x = [ port: 3000, typ: "port" , port: 4000, typ: "port" ];
const IDs = [3246237348, 738423894, 73824923]
const y =
...x[0],
CSSID
;
Object port: 3000, typ: "port", CSSID: Array[3]
port: 3000
typ: "port"
CSSID: Array[3]
0: 3246237348
1: 738423894
2: 73824923
但我想使用对象分配而不是传播语法,看起来很容易但我不知道如何得到结果:
const ob = Object.assign(Object.assign(, x[0], Object.assign(CSSID)) );
Object 0: 3246237348, 1: 738423894, 2: 73824923, port: 3000, typ: "port"
0: 3246237348
1: 738423894
2: 73824923
【问题讨论】:
【参考方案1】:Object.assign()
将属性从一个或多个对象复制到单个目标对象。由于CSSID
是一个数组,它会将数组的属性(项目)复制到对象中。由于您想要一个具有属性 CSSID 的对象,请将其设置为目标对象或源之一的属性:
CSSID 应该是对象的属性:
const x = [ port: 3000, typ: "port" , port: 4000, typ: "port" ];
const CSSID = [3246237348, 738423894, 73824923];
const ob = Object.assign(, x[0], CSSID ); // or Object.assign( CSSID , x[0]);
console.log(ob);
【讨论】:
以上是关于如何在数据数组和对象的合并中使用对象分配而不是扩展语法?的主要内容,如果未能解决你的问题,请参考以下文章