用 JS 中的不同数组替换对象数组

Replace an Array of Objects with a different Array in JS

我有一组物品。数组中的每个项目都有一组属性。其中之一叫做 config: object[]。它是一个对象数组。

通常,我会为完整对象提供正确的 config 对象数组,但对于我的一些测试,我想传递不同的配置选项。例如wrong config arrayempty array等..

这是我的代码:

    const connectionResources = [Array.forEach(object => object.config === [])]
    connectionResources.forEach(builtInOptions => console.log(builtInOptions))

这是我试过的。我试图传播阵列,但也没有运气。

有人可以帮我一下吗?我基本上希望我的对象数组有一个空的配置数组 属性 而不是原始对象。该怎么做?

示例数据

let resources = [{
    config: [{}, {}]
}, {
    config: [{}, {}]
}];

空配置属性

resources = resources.map(resource => {
    resource.config = [];
    return resource;
});

I tried to spread the Array, but no luck there as well.

首先,如果要展开数组,必须使用展开运算符;例如...myArray.

Array.forEach

其次,Array.prototype.forEachreturnsundefined,而Array.forEach undefined(除非您已将数组命名为 Array,否则您不应该这样做,因为那样会遮蔽 Array class)。

现在进入正题,你真正需要的是Array.prototype.map

let original = [{a: 3, config: [4, 5], b: 6}, {a: 13, config: [14, 15], b: 16}];

let emptyConfig = original.map(o => ({...o, config: []}));
let hundredConfig = original.map(o => ({...o, config: [100, 101, 102]}));

console.log(original);
console.log(emptyConfig);
console.log(hundredConfig);