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

javascript merge two arrays with custom key

我有两个带有自定义键的数组,但是当我想合并它们时 JavaScript return 空数组。

let x = [];
x['a'] = 1;

let y = [];
y['b'] = 2;

console.log(x.concat(y));
console.log([...x, ...y]);

有什么方法可以使用 JavaScript 函数将它们合并,或者我必须使用 for 并迭代所有项目??

由于您正在使用像 Object 这样的数组,因此请使用 Object.keys。 (Object.values 和 Object.entries)

let x = [];
x['a'] = 1;

let y = [];
y['b'] = 2;

console.log(x.concat(y));
console.log([...x, ...y]);

console.log([...Object.keys(x), ...Object.keys(y)]);
console.log([...Object.values(x), ...Object.values(y)]);

这里使用字符串值作为数组键。这在 JavaScript 中是不允许的。如果你想要字符串作为键,你需要使用 'object' 而不是数组。

如果你想将它与 using object 合并,试试这个:

let x = [{}];
x[0]['a'] = 1;

let y = [{}];
y[0]['b'] = 2;

console.log(x.concat(y));