gpt4 book ai didi

javascript - 如何检查对象数组中是否存在 id 值

转载 作者:行者123 更新时间:2023-11-30 14:00:57 26 4
gpt4 key购买 nike

给定对象数组“posts”{id: "x", title: "title"},我需要在输入新帖子之前验证是否有先前输入的 id(通过id 是一个字段的表单)。

我尝试循环浏览帖子,但它会导致输入重复的新数据时出现问题。谢谢你的帮助,这让我很生气。

// ADD NEW POST FROM FORM TO ARRAY
$("#form").submit(function(event) {
event.preventDefault();
var id = Number($("#idPost").val());
var title = $("#titlePost").val();
var date = new Date($("#data").val());
// CHECK IF id ALREADY EXISTS, IF YES, BLOCK ENTRY
for(num of posts){
console.log (id, num.id);
if(id === num.id){
console.log("error");
} else {
var post = new Post(id, title, date);
}
};
});

最佳答案

您可以按照 Andreas 的建议使用 Array.prototype.some() 或使用 Array .prototype .find()

Array.prototype.some() 只会返回 true 或 false,不会返回匹配的对象。如果您需要该对象,请按如下方式使用 find():

$("#form").submit(function(event) {
event.preventDefault();
var id = Number($("#idPost").val());
var title = $("#titlePost").val();
var date = new Date($("#data").val());
var objectPresent = posts.find(function(post) {
return post.id === id;
});
if(!objectPresent) {
var post = new Post(id, title, date);
} else {
console.log(objectPresent.id,"is already taken up by ", objectPresent.title);
}

});

关于javascript - 如何检查对象数组中是否存在 id 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56315730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com