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čky var 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: 8 let
|
0