Skip to content

Commit 7885927

Browse files
author
Avital Ben-Natan
committedApr 14, 2016
Seperated arrayInitDecorator to implementation and decoration
1 parent a8662e4 commit 7885927

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed
 

‎funcjs.js

+15-4
Original file line numberDiff line numberDiff line change
@@ -350,21 +350,32 @@ function clone(src) {
350350
*/
351351

352352
function arrayInitDecorator(sPathToArray, keys, values, callback){
353-
var args = {sPathToArray:sPathToArray, keys:(isArray(keys)? keys: [keys]), values: (isArray(values)? values: [values]), callback: callback};
353+
var args = {sPathToArray:sPathToArray, keys:keys, values: values, callback: callback};
354354

355355
// function that initializes the array in the given path with the corresponding keys and values
356356
return function(){
357-
getObjProperty(this, args.sPathToArray).forEach(function(arrayElement){
357+
arrayInit(getObjProperty(this, args.sPathToArray), args.keys, args.values);
358+
/*getObjProperty(this, args.sPathToArray).forEach(function(arrayElement){
358359
var arrElement = arrayElement;
359360
args.keys.forEach(function(key,i){
360-
setProperty(arrayElement, args.values[i], key);
361+
setProperty(arrElement, args.values[i], key);
361362
});
362-
});
363+
});*/
363364
if(args.callback) args.callback.apply(this, arguments);
364365
return this;
365366
}
366367
}
367368

369+
function arrayInit(arr, keys, values){
370+
var args = {keys:(isArray(keys)? keys: [keys]), values: (isArray(values)? values: [values])};
371+
arr.forEach(function(arrayElement){
372+
var scopeArrElement = arrayElement;
373+
args.keys.forEach(function(key,i){
374+
setProperty(scopeArrElement, args.values[i], key);
375+
});
376+
});
377+
}
378+
368379
function removeObjProperty(obj, path, delimiter){
369380
if(!!!arguments[1])
370381
return false;

0 commit comments

Comments
 (0)
Please sign in to comment.