我有一个包含 10 个对象的数组。
当我在弹出窗口中打开某个对象时,需要知道数组中的下一个或前一个对象是数组中的最后一个还是第一个。
如果是数组中的第一个或最后一个,则需要禁用下一个或上一个按钮。
问题是因为某些文档具有相同的 ID,并且我通过 ID 检查对象的索引:
const index = Documents.findIndex((item) => item.id === id);
然后,如果数组中的第一个和第四个对象具有相同的 ID,它将返回索引:0,始终:
如何使这项工作按预期进行?
该数组只是示例:
documents = [
{id: 'TEST1', name: 'TEST1'},
{id: '2', name: '2'},
{id: '3', name: '3'},
{id: 'TEST1', name: 'TEST1'},
{id: '4', name: '4'},
{id: '5', name: '5'}
]
后来我使用 index
禁用或启用上一个或下一个按钮。
最佳答案
你可以使用 .filter 来获取你想要的 id 的所有值, 例如:
let documents = [
{id: 'TEST1', name: 'TEST1'},
{id: '2', name: '2'},
{id: '3', name: '3'},
{id: 'TEST1', name: 'TEST1'},
{id: '4', name: '4'},
{id: '5', name: '5'}
];
const things = documents.filter((documents) => documents.name === id)
console.log(things)
关于javascript - 如何检查对象是否不是数组中的第一个或最后一个但有重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59501955/