Подтвердить что ты не робот

Подчеркнуть: удалить все пары ключ/значение из массива объекта

Есть ли "умный" подчёркивающий способ удаления всех пар ключ/значение из массива объекта?

например. У меня есть следующий массив:

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 },
    ];

и я хочу получить следующее:

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

Я могу получить эту работу с JS ниже, но не очень доволен своими решениями:

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

Любые предложения, которые очень ценятся.

4b9b3361

Ответ 1

Вы можете использовать map и omit, чтобы исключить определенные свойства, например

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

Или map и pick включить только определенные свойства, например:

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

Ответ 2

Для Omit

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

Для выбора

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