Inversare cheie cu valoare in obiect JS
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
Marius
- Mesaje: 60
Inversare cheie cu valoare in obiect JS
Nu imi dau seama cum pot schimba urmatorul obiect in JavaScript:
Cod: Selectaţi tot
{"first":["de"], "second":["ab","de"], "third":["de"]}
In acesta:
Cod: Selectaţi tot
{"de":["first", "second", "third"], "ab":["second"]}
Vreau să asociez valorile unice cu lista de chei in care sunt conținute in obiect JavaScript.
Iată ce am încercat:
Cod: Selectaţi tot
const data = {
"first":["de"],
"second":["ab","de"],
"third":["de"]
}
console.log(
Object
.keys(data).reduce(function(obj, key) {
obj[data[key]] = key;
return obj;
}, {})
)
MarPlo
Mesaje: 4343
Trebuie să parcurgi array-urile și pentru fiecare element din array verifici dacă există sau nu un array pentru acea valoare în acumulator înainte de a o adăuga:
Cod: Selectaţi tot
const data = {
"first":["de"],
"second":["ab","de"],
"third":["de"]
}
let result = Object.entries(data).reduce((acc, [key, arr]) => { // for each key-array of the original object
arr.forEach(value => { // for each value in the array
acc[value] = acc[value] || []; // create an array in the output object if it doesn't already exist
acc[value].push(key); // push the key to it
});
return acc;
}, {});
console.log(result);
Am folosit
Object.entries cu fiecare intrare sctructurată ca
[key, arr] sa nu se foloseasca un extra [key] ca sa obtin array-ul cand folosesc
Object.keys.
Subiecte similare
-
Inversare caractere adăugate într-un câmp de text
JavaScript - jQuery - Ajax
Primul mesaj
Am urmatorul cod html si JavaScript. O caseta de text input si un button.
<input type='text' id='backwards-input'>
<button...
Ultimul mesaj
Testeaza si studiaza urmatorul cod:
<input type='text' id='backwards-input'>
<button id='backwards-button'>Button</button>...
-
Cum se pot schimba cheile in obiect JS
JavaScript - jQuery - Ajax
Primul mesaj
Am o intrebare. Vreau sa schimb cheile intr-un obiect JavaScript daca valoarea lor e un numar. De exemplu, am urmatorul obiect:
const order = {...
Ultimul mesaj
Ca sa modifici cheia unei valoari dintr-un obiect JavaScript, clonezi acel element in obiect, adica, adaugi acea valoare cu noua cheie, apoi stergi...
-
Lungime obiect JSON in JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am convertit un tabel din baze de date într-un obiect JSON.
Aceasta este, în esență, un array bidimensional, fiecare înregistrare fiind pe cate un...
Ultimul mesaj
Poti sa folosesti Object.keys pentru a obține lista de chei din obiect ca un array, apoi obții cu 'length' lungimea din el:...
-
Obiect aleatoriu din mai multe Array cu procentaj de șanse în JS
JavaScript - jQuery - Ajax
Primul mesaj
Am 3 Array de obiecte în JavaScript:
const fruits =
const car =
const books =
Un array temporar în care voi stoca obiecte aleatorii alese:...
Ultimul mesaj
Trebuie să obții două numere aleatorii:
- primul care decide ce grup alege,
- al doilea care alege un articol din acesta.
Generăm un număr...
-
Aflare valoarea minima a proprietatii dintr-un obiect imbricat
JavaScript - jQuery - Ajax
Primul mesaj
Am un obiect imbricat in JavaScript care arata asa:
const yo = {
one: {
value: 0,
mission: 17},
two: {
value: 18,
mission: 3},
three: {...
Ultimul mesaj
Incearca sa combini metodele Object.values() si map() , ca in exemplu urmator:
const yo = {
one: {
value: 9,
mission: 17
},
two: {
value:...
-
Convertire 8-biți număr în valoare de culoare Hex în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Încerc să convertesc un număr întreg de 8-biți în valoare de culoare Hex. (de ex. FFFFFF).
Numarul de culoare pe 8-biți este generat cu următoarea...
Ultimul mesaj
Dacă ai un număr întreg, poți face cu:
color.toString(16)
Și îl va transforma într-un șir Hex.
// White
color = (255 * 65536) + (255 *...