wake-up-neo.com

Unterstrich: Entfernen Sie alle Schlüssel/Wert-Paare aus einem Objektarray

Gibt es eine "intelligente" Möglichkeit, alle Schlüssel/Wert-Paare aus einem Objektarray zu entfernen?

z.B. Ich habe folgendes Array:

var arr = [
        { q: "Lorem ipsum dolor sit.", c: false },
        { q: "Provident perferendis veniam similique!", c: false },
        { q: "Assumenda, commodi blanditiis deserunt?", c: true },
        { q: "Iusto, dolores ea iste.", c: false },
    ];

und ich möchte folgendes bekommen:

var newArr = [
        { q: "Lorem ipsum dolor sit." },
        { q: "Provident perferendis veniam similique!" },
        { q: "Assumenda, commodi blanditiis deserunt?" },
        { q: "Iusto, dolores ea iste." },
    ];

Ich kann dies mit der JS unten zum Laufen bringen, bin aber mit meinen Lösungen nicht wirklich zufrieden:

for (var i = 0; i < arr.length; i++) {
    delete arr[i].c;
};

Anregungen sehr geschätzt.

30
Iladarsda

Sie können map und omit zusammen verwenden, um bestimmte Eigenschaften wie die folgenden auszuschließen:

var newArr = _.map(arr, function(o) { return _.omit(o, 'c'); });

Oder map und pick , um nur bestimmte Eigenschaften wie diese aufzunehmen:

var newArr = _.map(arr, function(o) { return _.pick(o, 'q'); });
50
p.s.w.g

Für auslassen

_.map(arr, _.partial(_.omit, _, 'c'));

Für Pick

_.map(arr, _.partial(_.pick, _, 'q'));
0
Sam