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));
我有两个带有自定义键的数组,但是当我想合并它们时 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));