1
votes

Comment puis-je ajouter une clé et une valeur supplémentaires à chaque objet dans cette énorme liste d'objets

J'ai le problème suivant, je dois ajouter une nouvelle paire clé et valeur à chaque objet de cette liste,

 "O" : "PRISONER IN CUSTODY"},
... "O": "Shoplifter/Quick Cite"},
.... "O": "Return TO Station"}, etc

Je veux ajouter "O": O étant ma clé pour chaque objet d'en haut, et ma valeur étant n'importe laquelle de cette liste ARRIVE ON SCENE PRISONNIER EN GARDE PTU (TRANSPORT DES PRISONNIERS) SHOPLIFTER / CITE RAPIDE BORDERPRISONNIERTRANSPORT RETOUR À LA GARE TÉLÉPHONEZ VOTRE STATION TÉLÉPHONEZ VOTRE MAISON SÉCURISÉ, FIN DE CHAMP VOL AUTOMATIQUE EVAL-POSS VOL DE VOITURE NON SIGNALÉ RAPPORT DE VOL DE VOITURE RAPPORT DE RÉCUPÉRATION DE VOL DE VOITURE TAMPERING AVEC VÉHICULE EN COURS ALARME DU VÉHICULE / SONORE ROULETTE DE VÉHICULE TAMPERING AVEC RAPPORT DE VEH RENCONTREZ L'OFFICIER 10-10 DÉCHARGEMENT DES ARMES À FEU RÔDEUR PERSONNE À BAS RAPPORT DE CRIME OCCD MEXIQUE VÉRIFIEZ LA ZONE JEU DE BALLE DANS LA RUE (83 03MC) APPEL TÉLÉPHONIQUE INCOMPLET APPEL A L'AIDE APPEL A L'AIDE-PANIQUE ALARME APPEL D'AMBULANCE, SURDOSE

ressemblant idéalement à ceci

module.exports = [
{"A": "P17060024503", "B": "6/14/2017 21:54", "C": "4", "D": "10", "E": "", "F": "14TH", "G": "ST", "H": "10 14TH ST, San Diego, CA", "I": "1151", "J": "O", "K": "521", "L": "2", "M": "32.7054489", "N": "-117.1518696"},
{ "A": "P17030051227", "B": "3/29/2017 22:24", "C": "4", "D": "10", "E": "", "F": "14TH", "G": "ST", "H": "10 14TH ST, San Diego, CA", "I": "1016", "J": "A", "K": "521", "L": "2", "M": "32.7054544", "N": "-117.1467137"},
{ "A": "P17060004814", "B": "6/3/2017 18:04", "C": "7", "D": "10", "E": "", "F": "14TH", "G": "ST", "H": "10 14TH ST, San Diego, CA", "I": "1016", "J": "A", "K": "521", "L": "2", "M": "32.7053961", "N": "-117.1444185"},
{ "A": "P17030029336", "B": "3/17/2017 10:57", "C": "6", "D": "10", "E": "", "F": "14TH", "G": "ST", "H": "10 14TH ST, San Diego, CA", "I": "1151", "J": "OT", "K": "521", "L": "2", "M": "32.7054244", "N": "-117.1425917"},
{ "A": "P17030005412", "B": "3/3/2017 23:45", "C": "6", "D": "10", "E": "", "F": "15TH", "G": "ST", "H": "10 15TH ST, San Diego, CA", "I": "911P", "J": "CAN", "K": "521", "L": "2", "M": "32.7055067", "N": "-117.1405936"},
{ "A": "P17020016091", "B": "2/10/2017 8:23", "C": "6", "D": "10", "E": "", "F": "15TH", "G": "ST", "H": "10 15TH ST, San Diego, CA", "I": "AU2", "J": "W", "K": "521", "L": "2", "M": "32.7055067", "N": "-117.1405936"},
{ "A": "P17040017368", "B": "4/11/2017 4:57", "C": "3", "D": "10", "E": "", "F": "15TH", "G": "ST", "H": "10 15TH ST, San Diego, CA", "I": "5150", "J": "CAN", "K": "521", "L": "2", "M": "32.7055067", "N": "-117.1405936"},
{ "A": "P17030048050", "B": "3/28/2017 6:30", "C": "3", "D": "10", "E": "", "F": "15TH", "G": "ST", "H": "10 15TH ST, San Diego, CA", "I": "1146", "J": "K", "K": "521", "L": "", "M": "32.711212", "N": "-117.1336713"},
{ "A": "P17060037341", "B": "6/22/2017 10:19", "C": "5", "D": "10", "E": "", "F": "15TH", "G": "ST", "H": "10 15TH ST, San Diego, CA", "I": "242", "J": "K", "K": "521", "L": "1", "M": "32.7058661", "N": "-117.132085"},
{ "A": "P17060008467", "B": "6/5/2017 19:27", "C": "2", "D": "10", "E": "", "F": "15TH", "G": "ST", "H": "10 15TH ST, San Diego, CA", "I": "5150", "J": "K", "K": "521", "L": "2", "M": "32.7093133", "N": "-117.12756"},


7 commentaires

La valeur de O est-elle un élément aléatoire de votre liste ou est-elle basée sur l'index de l'objet?


Désolé, mais BALL GAME IN STREET (83 03MC) est assez drôle dans le contexte de cette liste.


@NickParsons cela peut être un élément aléatoire pour le moment, en réalité si vous regardez mon "I": "1151" dans mon objet, cela devrait correspondre à mon certain code criminel, mais pour l'instant cela peut être un élément aléatoire de la liste , toute idée de la façon de faire correspondre chaque crime avec le code correspondant sans utiliser autant de si elses.


@DavidArriaga vous pouvez utiliser un autre objet. Mais quels sont les codes de crime pour chacun des crimes que vous avez énumérés?


@ggorlen haha ​​ses données sur la criminalité, il peut s'agir littéralement de personnes jouant au basket-ball dans la rue


Vous voulez que les éléments se répètent ou pas?


@MaheerAli oui c'est bien pour le moment


6 Réponses :


0
votes

Essayez avec Array # map et Array # forEach .

  • Je ne connais pas la structure de votre deuxième tableau, donc créé avec un objet tableau, puis mappez la valeur o` au tableau.
  • Appliquez ensuite forEach au tableau un. Enfin, ajoutez la valeur basée sur l'index

var arr =[
{"A": "P17060024503", "B": "6/14/2017 21:54", "C": "4", "D": "10", "E": "", "F": "14TH", "G": "ST", "H": "10 14TH ST, San Diego, CA", "I": "1151", "J": "O", "K": "521", "L": "2", "M": "32.7054489", "N": "-117.1518696"},
{ "A": "P17030051227", "B": "3/29/2017 22:24", "C": "4", "D": "10", "E": "", "F": "14TH", "G": "ST", "H": "10 14TH ST, San Diego, CA", "I": "1016", "J": "A", "K": "521", "L": "2", "M": "32.7054544", "N": "-117.1467137"}
];

var arr2 = [{'ss':'sss','o':'something1'},{'hh':'dd','o':'something2'}]

arr2_filter_o = arr2.map(a=> a.o);
 //its like ['something1','something2']
 
arr.forEach((a,b)=> {
  a['o']=arr2_filter_o[b];
})

console.log(arr)


2 commentaires

de toute façon comment randomiser les données en tant que valeur de cette liste que j'ai publiée de codes de crime? au fait est-ce que quelqu'un sait où je peux générer un tableau en collant simplement les crimes


quel format de votre type de données est tableau [2,3] ou objet [{w}, {e}] . Voir mon commentaire dans l'extrait de code



0
votes

Puisque vous souhaitez ajouter un élément de la liste, il suffit de le mapper comme ceci:

.as-console-wrapper { max-height: 100% !important; top: 0; }
var data = [{
  "A": "P17060024503",
  "B": "6/14/2017 21:54",
  "C": "4",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1151",
  "J": "O",
  "K": "521",
  "L": "2",
  "M": "32.7054489",
  "N": "-117.1518696"
}, {
  "A": "P17030051227",
  "B": "3/29/2017 22:24",
  "C": "4",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1016",
  "J": "A",
  "K": "521",
  "L": "2",
  "M": "32.7054544",
  "N": "-117.1467137"
}, {
  "A": "P17060004814",
  "B": "6/3/2017 18:04",
  "C": "7",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1016",
  "J": "A",
  "K": "521",
  "L": "2",
  "M": "32.7053961",
  "N": "-117.1444185"
}, {
  "A": "P17030029336",
  "B": "3/17/2017 10:57",
  "C": "6",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1151",
  "J": "OT",
  "K": "521",
  "L": "2",
  "M": "32.7054244",
  "N": "-117.1425917"
}, {
  "A": "P17030005412",
  "B": "3/3/2017 23:45",
  "C": "6",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "911P",
  "J": "CAN",
  "K": "521",
  "L": "2",
  "M": "32.7055067",
  "N": "-117.1405936"
}, {
  "A": "P17020016091",
  "B": "2/10/2017 8:23",
  "C": "6",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "AU2",
  "J": "W",
  "K": "521",
  "L": "2",
  "M": "32.7055067",
  "N": "-117.1405936"
}, {
  "A": "P17040017368",
  "B": "4/11/2017 4:57",
  "C": "3",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "5150",
  "J": "CAN",
  "K": "521",
  "L": "2",
  "M": "32.7055067",
  "N": "-117.1405936"
}, {
  "A": "P17030048050",
  "B": "3/28/2017 6:30",
  "C": "3",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "1146",
  "J": "K",
  "K": "521",
  "L": "",
  "M": "32.711212",
  "N": "-117.1336713"
}, {
  "A": "P17060037341",
  "B": "6/22/2017 10:19",
  "C": "5",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "242",
  "J": "K",
  "K": "521",
  "L": "1",
  "M": "32.7058661",
  "N": "-117.132085"
}, {
  "A": "P17060008467",
  "B": "6/5/2017 19:27",
  "C": "2",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "5150",
  "J": "K",
  "K": "521",
  "L": "2",
  "M": "32.7093133",
  "N": "-117.12756"
}];

var newItems = [
  "ARRIVE ON SCENE",
  "PRISONER IN CUSTODY",
  "PTU (PRISONER TRANSPORT)",
  "SHOPLIFTER/QUICK CITE",
  "BORDERPRISONERTRANSPORT",
  "RETURN TO STATION",
  "PHONE YOUR STATION",
  "PHONE YOUR HOME",
  "SECURE, END OF SHIFT",
  "AUTO THEFT",
  "EVAL-POSS UNREPORTED CAR THEFT",
  "CAR THEFT REPORT",
  "CAR THEFT RECOVERY REPORT",
  "TAMPERING W/VEH IN PROGRESS",
  "VEHICLE ALARM/AUDIBLE",
  "VEHICLE CASER",
  "TAMPERING W/VEH REPORT",
  "MEET OFFICER 10-10",
  "DISCHARGING FIREARMS",
  "PROWLER",
  "PERSON DOWN",
  "REPORT OF CRIME OCCD MEXICO",
  "CHECK THE AREA",
  "BALL GAME IN STREET(83 03MC)",
  "INCOMPLETE PHONE CALL",
  "CALLING FOR HELP",
  "CALLING FOR HELP-PANIC ALARM",
  "AMBULANCE CALL, OVERDOSE"
];

var output = data.map(function(o) { 
  o.O = newItems[Math.floor(Math.random() * newItems.length)];
  return o;
});

console.log(output);

Syntaxe ES5:

.as-console-wrapper { max-height: 100% !important; top: 0; }
const data = [{
  "A": "P17060024503",
  "B": "6/14/2017 21:54",
  "C": "4",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1151",
  "J": "O",
  "K": "521",
  "L": "2",
  "M": "32.7054489",
  "N": "-117.1518696"
}, {
  "A": "P17030051227",
  "B": "3/29/2017 22:24",
  "C": "4",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1016",
  "J": "A",
  "K": "521",
  "L": "2",
  "M": "32.7054544",
  "N": "-117.1467137"
}, {
  "A": "P17060004814",
  "B": "6/3/2017 18:04",
  "C": "7",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1016",
  "J": "A",
  "K": "521",
  "L": "2",
  "M": "32.7053961",
  "N": "-117.1444185"
}, {
  "A": "P17030029336",
  "B": "3/17/2017 10:57",
  "C": "6",
  "D": "10",
  "E": "",
  "F": "14TH",
  "G": "ST",
  "H": "10 14TH ST, San Diego, CA",
  "I": "1151",
  "J": "OT",
  "K": "521",
  "L": "2",
  "M": "32.7054244",
  "N": "-117.1425917"
}, {
  "A": "P17030005412",
  "B": "3/3/2017 23:45",
  "C": "6",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "911P",
  "J": "CAN",
  "K": "521",
  "L": "2",
  "M": "32.7055067",
  "N": "-117.1405936"
}, {
  "A": "P17020016091",
  "B": "2/10/2017 8:23",
  "C": "6",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "AU2",
  "J": "W",
  "K": "521",
  "L": "2",
  "M": "32.7055067",
  "N": "-117.1405936"
}, {
  "A": "P17040017368",
  "B": "4/11/2017 4:57",
  "C": "3",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "5150",
  "J": "CAN",
  "K": "521",
  "L": "2",
  "M": "32.7055067",
  "N": "-117.1405936"
}, {
  "A": "P17030048050",
  "B": "3/28/2017 6:30",
  "C": "3",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "1146",
  "J": "K",
  "K": "521",
  "L": "",
  "M": "32.711212",
  "N": "-117.1336713"
}, {
  "A": "P17060037341",
  "B": "6/22/2017 10:19",
  "C": "5",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "242",
  "J": "K",
  "K": "521",
  "L": "1",
  "M": "32.7058661",
  "N": "-117.132085"
}, {
  "A": "P17060008467",
  "B": "6/5/2017 19:27",
  "C": "2",
  "D": "10",
  "E": "",
  "F": "15TH",
  "G": "ST",
  "H": "10 15TH ST, San Diego, CA",
  "I": "5150",
  "J": "K",
  "K": "521",
  "L": "2",
  "M": "32.7093133",
  "N": "-117.12756"
}];

const newItems = [
  "ARRIVE ON SCENE",
  "PRISONER IN CUSTODY",
  "PTU (PRISONER TRANSPORT)",
  "SHOPLIFTER/QUICK CITE",
  "BORDERPRISONERTRANSPORT",
  "RETURN TO STATION",
  "PHONE YOUR STATION",
  "PHONE YOUR HOME",
  "SECURE, END OF SHIFT",
  "AUTO THEFT",
  "EVAL-POSS UNREPORTED CAR THEFT",
  "CAR THEFT REPORT",
  "CAR THEFT RECOVERY REPORT",
  "TAMPERING W/VEH IN PROGRESS",
  "VEHICLE ALARM/AUDIBLE",
  "VEHICLE CASER",
  "TAMPERING W/VEH REPORT",
  "MEET OFFICER 10-10",
  "DISCHARGING FIREARMS",
  "PROWLER",
  "PERSON DOWN",
  "REPORT OF CRIME OCCD MEXICO",
  "CHECK THE AREA",
  "BALL GAME IN STREET(83 03MC)",
  "INCOMPLETE PHONE CALL",
  "CALLING FOR HELP",
  "CALLING FOR HELP-PANIC ALARM",
  "AMBULANCE CALL, OVERDOSE"
];

const output = data.map(o => ({ ...o,
  O: newItems[Math.floor(Math.random() * newItems.length)]
}));

console.log(output);


7 commentaires

Wow ! comment avez-vous séparé par des virgules et formaté le tableau newItems ??


J'ai ajouté des virgules et des guillemets - n'est-ce pas ce que vous vouliez? Oh - Les extraits de code ont une option d'édition en masse - lorsque vous cliquez sur commande, cela crée un nouveau curseur.


ok merci c'était super, j'ai en fait une plus grande liste de 300 éléments mais je veux en faire un tableau comme vous l'avez fait mais je ne trouve pas l'option d'édition en masse


Voici comment procéder: accédez au dernier élément du tableau, cliquez sur la commande au début de la ligne, cliquez sur la commande au début de chaque élément du tableau, insérez un devis, allez à la fin de l'élément, insérez un autre quote, insérez une virgule.


Aussi @DavidArriaga si ma réponse a résolu votre problème, veuillez le marquer comme accepté en cliquant sur la coche grise à gauche de ma réponse.


Ceci est un lien vers ma liste d'éléments textuploader.com/1563e , je ne veux pas paraître stupide, mais honnêtement impossible de trouver où ajouter les virgules et les guillemets. Si vous pouviez mettre en forme une liste d'éléments, je vous serais très reconnaissant


et oui ta solution répond à ma question



0
votes

Faites ceci. Quel est votre problème, vraiment?

var arr = [/*your array*/];
function getRandomO() {/*returns your random O*/}
arr.forEach(v=>v.O = getRandomO());
module.exports = arr;

Si vous utilisez JSON, faites JSON.stringify (arr) dans la console et copypast le résultat.


0 commentaires

1
votes

Vous pouvez stocker votre nouvelle liste dans le tableau

module.exports.forEach((item,index)=>{item['O']=oValues[index]})

Et puis attribuer des valeurs de oValues ​​à la liste principale comme ci-dessous

oValues=[
'ARRIVE ON SCENE',
'PRISONER IN CUSTODY',
'PTU (PRISONER TRANSPORT)'
.
.
.]

En supposant que vous devez attribuer la valeur 'O' sequentilay


0 commentaires

0
votes

Vous pouvez utiliser une boucle .forEach pour ajouter un attribut O à chacun de vos objets dans les exportations. Ce sera linéaire (O (N)) car vous n'effectuez une itération sur vos objets qu'une fois.

.as-console-wrapper {max-height: 100% !important; top: 0;} /* ignore css */
const crimes = ["ARRIVE ON SCENE", "PRISONER IN CUSTODY", "PTU (PRISONER TRANSPORT)", "SHOPLIFTER/QUICK CITE", "BORDERPRISONERTRANSPORT", "RETURN TO STATION", "PHONE YOUR STATION", "PHONE YOUR HOME", "SECURE, END OF SHIFT", "AUTO THEFT", "EVAL-POSS UNREPORTED CAR THEFT", "CAR THEFT REPORT", "CAR THEFT RECOVERY REPORT", "TAMPERING W/VEH IN PROGRESS", "VEHICLE ALARM/AUDIBLE", "VEHICLE CASER", "TAMPERING W/VEH REPORT", "MEET OFFICER 10-10", "DISCHARGING FIREARMS", "PROWLER", "PERSON DOWN", "REPORT OF CRIME OCCD MEXICO", "CHECK THE AREA", "BALL GAME IN STREET(83 03MC)", "INCOMPLETE PHONE CALL", "CALLING FOR HELP", "CALLING FOR HELP-PANIC ALARM", "AMBULANCE CALL, OVERDOSE"];
const exports = [{A:"P17060024503",B:"6/14/2017 21:54",C:"4",D:"10",E:"",F:"14TH",G:"ST",H:"10 14TH ST, San Diego, CA",I:"1151",J:"O",K:"521",L:"2",M:"32.7054489",N:"-117.1518696"},{A:"P17030051227",B:"3/29/2017 22:24",C:"4",D:"10",E:"",F:"14TH",G:"ST",H:"10 14TH ST, San Diego, CA",I:"1016",J:"A",K:"521",L:"2",M:"32.7054544",N:"-117.1467137"},{A:"P17060004814",B:"6/3/2017 18:04",C:"7",D:"10",E:"",F:"14TH",G:"ST",H:"10 14TH ST, San Diego, CA",I:"1016",J:"A",K:"521",L:"2",M:"32.7053961",N:"-117.1444185"},{A:"P17030029336",B:"3/17/2017 10:57",C:"6",D:"10",E:"",F:"14TH",G:"ST",H:"10 14TH ST, San Diego, CA",I:"1151",J:"OT",K:"521",L:"2",M:"32.7054244",N:"-117.1425917"},{A:"P17030005412",B:"3/3/2017 23:45",C:"6",D:"10",E:"",F:"15TH",G:"ST",H:"10 15TH ST, San Diego, CA",I:"911P",J:"CAN",K:"521",L:"2",M:"32.7055067",N:"-117.1405936"},{A:"P17020016091",B:"2/10/2017 8:23",C:"6",D:"10",E:"",F:"15TH",G:"ST",H:"10 15TH ST, San Diego, CA",I:"AU2",J:"W",K:"521",L:"2",M:"32.7055067",N:"-117.1405936"},{A:"P17040017368",B:"4/11/2017 4:57",C:"3",D:"10",E:"",F:"15TH",G:"ST",H:"10 15TH ST, San Diego, CA",I:"5150",J:"CAN",K:"521",L:"2",M:"32.7055067",N:"-117.1405936"},{A:"P17030048050",B:"3/28/2017 6:30",C:"3",D:"10",E:"",F:"15TH",G:"ST",H:"10 15TH ST, San Diego, CA",I:"1146",J:"K",K:"521",L:"",M:"32.711212",N:"-117.1336713"},{A:"P17060037341",B:"6/22/2017 10:19",C:"5",D:"10",E:"",F:"15TH",G:"ST",H:"10 15TH ST, San Diego, CA",I:"242",J:"K",K:"521",L:"1",M:"32.7058661",N:"-117.132085"},{A:"P17060008467",B:"6/5/2017 19:27",C:"2",D:"10",E:"",F:"15TH",G:"ST",H:"10 15TH ST, San Diego, CA",I:"5150",J:"K",K:"521",L:"2",M:"32.7093133",N:"-117.12756"}];

exports.forEach(obj => {
  const randomIndex = Math.floor(Math.random() * crimes.length);
  obj["O"] = crimes[randomIndex];
});

console.log(exports);


0 commentaires

0
votes

Décomposer la solution en une liste de tableaux associatifs, ou dictionnaires:

list[n]['key'] = value


let text = ['PRISONER IN CUSTODY', 'PTU (PRISONER TRANSPORT)' ... ]
for(t in text) {
   let key = 'O'
   let value = text[t]
   list[t][key] = value
}

Accès au nième élément de ce tableau: list [n] Ainsi, si vous souhaitez ajouter une nouvelle paire clé / valeur à l'index n:

let list = [{},{},{} ... ]


0 commentaires