| Autor | Zpráva | ||
|---|---|---|---|
| tester Profil * |
#1 · Zasláno: 7. 9. 2016, 13:31:28
Pro účely statistik výskytů znaků v řetězci mám pole, které potřebuju vytvořit znova, když narazím na oddělovač.
// začátek smyčky
oObj.stats.push({ '"': 0 , "'":0, '(': 0, '[':0, '"(': 0 , "'(":0,'"[': 0 , "'[":0 });
// konec smyčkyvar myObj = { '"': 0 , "'":0, '(': 0, '[':0, '"(': 0 , "'(":0,'"[': 0 , "'[":0 };
// začátek smyčky
oObj.stats.push( Object.assign({}, myObj) );
// konec smyčky |
||
| Radek9 Profil |
#2 · Zasláno: 7. 9. 2016, 14:50:15
tester:
To kopírování bude podle mě pomalejší, protože se děje až v runtimu. Kdežto definice objektu se dá zoptimalizovat. Musíš ale vytvářet (příp. kopírovat) celý ten objekt? Nestačilo by, kdybys ho použil jako prototyp? var myObj = { '"': 0 , "'":0, '(': 0, '[':0, '"(': 0 , "'(":0,'"[': 0 , "'[":0 };
// začátek smyčky
oObj.stats.push(Object.create(myObj));
// konec smyčky |
||
| tester Profil * |
Zkusím. Díky
Radek9: To co si mi doporučil mi ale nefunguje: var statObj = { '"': 0 , "'":0, '(': 0, '[': 0, '"(': 0 , "'(":0, '"[': 0 , "'[": 0, '":': 0 , "':": 0 };
oObj = {
length: 0,
results: [],
stats: [ null ],
stats_sum: null
};
oObj.stats[0] = Object.create(statObj);
oObj.stats_sum = Object.create(statObj);Tohle mi funguje: var statObj = { '"': 0 , "'":0, '(': 0, '[': 0, '"(': 0 , "'(":0, '"[': 0 , "'[": 0, '":': 0 , "':": 0 };
oObj = {
length: 0,
results: [],
stats: [ { '"': 0 , "'":0, '(': 0, '[': 0, '"(': 0 , "'(":0, '"[': 0 , "'[": 0, '":': 0 , "':": 0 } ],
stats_sum: { '"': 0 , "'":0, '(': 0, '[': 0, '"(': 0 , "'(":0, '"[': 0 , "'[": 0, '":': 0 , "':": 0 }
}; |
||
|
Časová prodleva: 10 let
|
|||
0