我如何使用这个查找数组并匹配 javascript 中的数组?
how can i use this find array and match in array in javascript?
这是我的数据 - 如何在数组中找到 itemId。
let itemId=['001', '002', '003']
const data = [
{ id: 1, itemId: '001' },
{ id: 2, itemId: '002' },
{ id: 3, itemId: '003' },
];
这是我在 lodash 中的功能,但它不起作用。
_.find(data, ['itemId',{$in: itemId}])
使用 _.intersectionWith()
获取 data
中的所有项目,其 id 出现在 itemId
数组中:
const itemId=['001', '003'];
const data = [
{ id: 1, itemId: '001' },
{ id: 2, itemId: '002' },
{ id: 3, itemId: '003' },
];
const result = _.intersectionWith(data, itemId, ({ itemId }, id) => itemId === id);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
如果要过滤 data
数组中 itemId
包含在 Ids
数组中的所有项目,您可以尝试可用的支持 filter
方法而不使用 lodash
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
const itemIds=['001', '003'];
const data = [
{ id: 1, itemId: '001' },
{ id: 2, itemId: '002' },
{ id: 3, itemId: '003' },
];
console.log(data.filter(item=> itemIds.includes(item.itemId)));
这是我的数据 - 如何在数组中找到 itemId。
let itemId=['001', '002', '003']
const data = [
{ id: 1, itemId: '001' },
{ id: 2, itemId: '002' },
{ id: 3, itemId: '003' },
];
这是我在 lodash 中的功能,但它不起作用。
_.find(data, ['itemId',{$in: itemId}])
使用 _.intersectionWith()
获取 data
中的所有项目,其 id 出现在 itemId
数组中:
const itemId=['001', '003'];
const data = [
{ id: 1, itemId: '001' },
{ id: 2, itemId: '002' },
{ id: 3, itemId: '003' },
];
const result = _.intersectionWith(data, itemId, ({ itemId }, id) => itemId === id);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
如果要过滤 data
数组中 itemId
包含在 Ids
数组中的所有项目,您可以尝试可用的支持 filter
方法而不使用 lodash
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
const itemIds=['001', '003'];
const data = [
{ id: 1, itemId: '001' },
{ id: 2, itemId: '002' },
{ id: 3, itemId: '003' },
];
console.log(data.filter(item=> itemIds.includes(item.itemId)));