J'ai un objet que j'aurais obtenu Voici comment j'essaie d'obtenir des données p> p> {fiabilite: xxx, rectivite: yyy} code> de
région = AAA code> (ou autre) dans
voyages code> (Je n'ai pas besoin de chercher dans
ICC code>)
const activityName = 'VOYAGES' // activityName: VOYAGES Or ICC
const queryParams = [',','region=AAA']
const objectifs = {
'VOYAGES': [
{
'region=AAA': {
FIABILITE: '75',
REACTIVITE: '90'
}
},
{
'region=BBBB': {
FIABILITE: '75',
REACTIVITE: '86'
}
}
],
'ICC': [
{
'region=CSIC': {
FIABILITE: '45',
REACTIVITE: '80'
}
}
]
}
const objKeys = Object.values(objectifs[activityName])
const index = objKeys.indexOf((queryParams[1]));
const data = objectifs[activityName][index];
console.log(data)
3 Réponses :
C'est parce que votre objet est créé que vous obtenez indéfini, vous devez ajouter un index p> objectifs ['Voyages'] [0] ['Région = AAA'] code> comme ça:
objectifs = {
'VOYAGES': [{
'region=AAA': {
FIABILITE: '75',
REACTIVITE: '90'
}
},
{
'region=BBBB': {
FIABILITE: '75',
REACTIVITE: '86'
}
}
],
'ICC': [{
'region=CSIC': {
FIABILITE: '45',
REACTIVITE: '80'
}
}]
}
var data = {}
objectifs['VOYAGES'].forEach(function(element) {
if ('region=AAA' in element) {
data = element['region=AAA'];
}
});
console.log(data)
Vous avez codé dur l'index 0 code> je le trouverais de manière dynamique
Vous pouvez essayer:
p>
const queryParams = [',','region=AAA'] const activityName = 'VOYAGES' const searchKey = queryParams[1]; objectif={'VOYAGES': [ { 'region=AAA': { FIABILITE: '75', REACTIVITE: '90' } }, { 'region=BBBB': { FIABILITE: '75', REACTIVITE: '86' } } ], 'ICC': [ { 'region=CSIC': { FIABILITE: '45', REACTIVITE: '80' } } ]}; let resultData = objectif[activityName].find((entry) => { return entry[searchKey]; })[searchKey]; console.log("Result data: ", resultData);
Vous pouvez trouver l'index code> code> dans la matrice de l'objet avec une propriété spécifique à l'aide de:
Exemple de travail: P> P> const index = objectifs [ActivityName] .Findindex (x => !! x [ QueryParams [1]]]) Code> P>
const activityName = 'VOYAGES' // activityName: VOYAGES Or ICC
const queryParams = [',','region=AAA']
const objectifs = {
'VOYAGES': [
{
'region=AAA': {
FIABILITE: '75',
REACTIVITE: '90'
}
},
{
'region=BBBB': {
FIABILITE: '75',
REACTIVITE: '86'
}
}
],
'ICC': [
{
'region=CSIC': {
FIABILITE: '45',
REACTIVITE: '80'
}
}
]
}
const index = objectifs[activityName].findIndex(x => x.hasOwnProperty([queryParams[1]]));
const data = objectifs[activityName][index];
console.log(data)
const obj = data[queryParams[1]];
console.log(obj)
Qu'est-ce que tu veux exactement?
Comment définissez-vous quelle région vous voulez? par entrée de l'utilisateur, par code de codage ou comment?
Vous êtes l'utilisateur de l'utilisateur, donc dynamique
Je ne comprends pas exactement, quelle sortie attendez-vous? De quoi avez-vous besoin? Qu'est-ce qui va mal exactement?