J'ai ce tableau, avec sa première colonne comme ID: Je veux remplacer chaque élément "P" avec son animal correspondant du tableau "Recherche" ci-dessous: p> ... qui me donnera le nouveau tableau suivant p> J'ai réussi à me confondre totalement sur celui-ci . Merci pour toute aide. P> p>
3 Réponses :
Vous devez d'abord convertir p> arraylookup code> dans un objet, c'est-à-dire:
.as-console-wrapper { max-height: 100% !important; top: 0; }
Vous pouvez le faire avec un Carte sur votre Pour rechercher facilement une valeur, créez une carte comme ceci: P> maintarray code> pour mapper les éléments des entrées à leurs valeurs de recherche.
const arr = [
["1001","P6","P8"],
["1002","P7"],
["1003","P7","P8","P10"],
["1004","P6","P10"],
];
const arrLookup = [
["P6","dog"],
["P7","cat"],
["P8","mouse"],
["P9","horse"],
["P10","cow"],
];
const lookup = arrLookup.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {});
const result = arr.map(([id, ...rest]) => [id, ...rest.map(x => lookup[x])]);
console.log(result);
Vous pouvez utiliser p> trouver code> et
de la carte code> avec
StartSwith code> comme:
var array = [
["1001", "P6", "P8"],
["1002", "P7"],
["1003", "P7", "P8", "P10"],
["1004", "P6", "P10"],
];
var lookup = [
["P6", "dog"],
["P7", "cat"],
["P8", "mouse"],
["P9", "horse"],
["P10", "cow"],
];
var result = array.map(function(arr) {
var replaced = arr.map(function(s) {
if (s.startsWith("P")) {
var newValue = lookup.find(function(a) {
return a[0] == s;
})[1];
return newValue;
}
return s;
});
return replaced;
});
console.log(result);
Ce
ArrayLookup Code> Le format de données est horrible i> travailler avec. Pouvez-vous modifier cet objet? Une option de manière significative serait quelque chose comme:
{"P6": "chien", "P7": "CAT"} CODE> ...
Oh, cela explique probablement pourquoi je n'ai pas encore été capable d'obtenir quelque chose à travailler encore. Oui, il peut être modifié à votre suggestion.
Je suis sûr qu'il y a des raisons mais je ne vois pas le point de la bowvotes. J'essaie d'apprendre ici que je pensais que c'était le point de si. Je n'ai soumis aucune tentative parce que je n'avais rien de valeur à montrer. Pas une plainte, juste une observation.