J'ai un tableau au format suivant mais lors de l'envoi du formulaire, il n'y a pas de champ "ID" disponible. Je veux que lorsque le formulaire est soumis par l'utilisateur, un ID généré automatiquement soit donné et enregistré dans JSON Array. Sur chaque méthode de soumission de formulaire, il convient de vérifier si l'ID est déjà donné ou non. Si ce n'est pas le cas, attribuez-le.
private list :any; this.list = { "a_Rows": [ { "id": "1", "sname": "amir", "sType": "Cheque", "semail": "ert", },
4 Réponses :
Ecrire une fonction qui génère des identifiants aléatoires garantit que le champ id dans JSON contient une valeur lorsqu'un formulaire est soumis. Si le champ id doit être unique, une extraction de tous les identifiants est nécessaire pour vérifier l'unicité.
Vous pouvez soit utiliser un uuid pour vos identifiants, ce qui sont garantis uniques. Ou (par exemple, si vos identifiants doivent être des entiers), ayez simplement un compteur global que vous augmentez à chaque envoi et utilisez-le comme identifiant pour les nouveaux éléments.
Exemple:
items = []; idCounter = 0; function addItem(item) { item.id = idCounter++; items.push(item); }
p>
Je dois utiliser des identifiants entiers .Pouvez-vous me fournir un code pour savoir comment cela fonctionnera.
J'ai ajouté un exemple
Vous pouvez utiliser le code ci-dessous
<button onclick="submit()">Submit</button> submit() { let s = (new Date()).getTime().toString(16) + Math.random().toString(16).substring(2) + "0".repeat(16); let uuid = s.substr(0,8) + '-' + s.substr(8,4) + '-4000-8' + s.substr(12,3) + '-' + s.substr(15,12); let data = { id : uuid, sname: "amir", sType: "Cheque", semail: "ert" } }
Veuillez regarder cet exemple ci-dessous, j'ai créé une fonction en tant que telle vous avez besoin, il créera un identifiant unique et s'ajoutera à l'objet json avec tout de sa valeur correspondante.
let value = { 2071 : {id :101, name: "bathri" , age:22}} let idIndex; function CreateJson(name, age){ this.id = generateNewId(); this.name = name; this.age = age; return value[this.id] = this; } function generateNewId(){ idIndex = Math.floor(Math.random() * 9999) + 1; if(Object.keys(value).includes(idIndex) == idIndex){ idIndex = generateNewId() } return idIndex; } let result = new CreateJson('nathan','23') console.log(value);
avez-vous l'intention d'utiliser ce json pour le sauvegarder dans une base de données nosql?
S'il vous plaît regardez mon code ci-dessous, cela pourrait vous aider, demandez-moi s'il y a des problèmes
Actuellement, je travaille sur le front-end. Je ne sais pas quelle base de données sera utilisée dans le backend à l'avenir.