javascript使用自定义键合并两个数组

javascript使用自定义键合并两个数组,javascript,arrays,concat,Javascript,Arrays,Concat,我有两个带有自定义键的数组,但当我想要合并它们时,JavaScript返回emtpy数组 设x=[]; x['a']=1; 设y=[]; y['b']=2; 控制台日志(x.concat(y)); log([…x,…y])因为您使用的是类似于Object的数组,所以请使用Object.keys。(Object.values和Object.entries) 设x=[]; x['a']=1; 设y=[]; y['b']=2; 控制台日志(x.concat(y)); log([…x,…y]); l

我有两个带有自定义键的数组,但当我想要合并它们时,JavaScript返回emtpy数组

设x=[];
x['a']=1;
设y=[];
y['b']=2;
控制台日志(x.concat(y));

log([…x,…y])因为您使用的是类似于Object的数组,所以请使用
Object.keys
。(Object.values和Object.entries)

设x=[];
x['a']=1;
设y=[];
y['b']=2;
控制台日志(x.concat(y));
log([…x,…y]);
log([…Object.key(x),…Object.key(y)];

log([…Object.values(x),…Object.values(y)]这里使用字符串值作为数组键。这在JavaScript中是不允许的。如果要将字符串作为键,则需要使用“对象”而不是数组。

如果要将其与“使用对象”合并,请尝试以下操作:

设x=[{}];
x[0]['a']=1;
设y=[{}];
y[0]['b']=2;

控制台日志(x.concat(y))
让y=[];y['b']=2
生成一个数组,该数组的属性具有键
'b'
和值
2
<代码> CONTAG/<代码>和<代码>…>代码>只考虑具有整数键的属性。请解释您试图实现的目标,因为我怀疑您使用的数据结构是否正确。@AluanHaddad感谢您的评论。我理解当我阅读您的通知时,我应该在我的案例中使用Object。这不是为了学究,但绝对允许它们不被视为数组的元素,而是被视为
长度
。然而,通常最好避免这种情况。