JavaScript / lodash:如何使用omitBy按值从对象中删除对象?

问题描述 投票:1回答:1

我有一个对象:

const obj = { 
  1: { "id": 1, "taskId": 1, },
  2: { "id": 2, "taskId": 2, },
  3: { "id": 3, "taskId": 2, },
  4: { "id": 4, "taskId": 3, },
};

我需要使用键'taskId'删除所有对象:2.不知道如何编写fn以与omitBy一起使用。谁能帮忙?

console.log(_.omitBy(obj, ???));

是否可以使用lodash的“ omitBy”函数?还是我需要寻找其他方法?

javascript lodash
1个回答
0
投票

在回调中,只需从对象中获取taskId属性,并检查其是否不是2:

const obj = { 
  1: { "id": 1, "taskId": 1, },
  2: { "id": 2, "taskId": 2, },
  3: { "id": 3, "taskId": 2, },
  4: { "id": 4, "taskId": 3, },
};

console.log(
  _.omitBy(
    obj,
    ({ taskId }) => taskId === 2
  )
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.