我有一个数组,我想搜索,只需要在搜索中放置一个匹配的项目,就像这样:
数组和代码示例:
const test = [
{ id: 0, title: 'test1', seen: false },
{ id: 1, title: 'test2', seen: false },
{ id: 2, title: 'test3', seen: true },
];
字符串
我需要能够搜索测试数组的ID:2,并将其设置为'看到:真'
我试过了:
const [testarray, testTestArray] = usestate(test);
const checkID = 2;
const updateStatus = (checkID) => {
const new_data = testarray.data.map(id => {
if (id === checkID) {
// No change
return id;
} else {
return {
...id,
seen: true,
};
}
});
setTest(new_data);
型
我已经用不同的方式玩过了,最接近的是把它们都改成了“看到:真实”?
我不明白什么?
谢谢
2条答案
按热度按时间ej83mcc01#
您正在检查
id
与checkID
,checkID
永远不会相等,因为您正在比较object
(数组中的每个单独对象)与number
。您必须将其与
id.id
进行比较,或者为了更好的命名约定,将obj.id
与checkID
进行比较。CODESANDBOX
字符串
你可以把它更简单地描述为:
型
m528fe3b2#
让我们解决这个问题:
字符串
错误是:
我希望一切都被理解。