W
Waseem
Hi, a little new to doing js. made a little script - wondering if it
can be optimized further and if so how ?
here is the script.
function examine(selector) {
/*
if selector = "#new, .newer, newest"
output will be :
selections = 3; // there are 2 commas
s.selects[0] = "#new";
s.selects[2] = ".newer";
s.selects[3] = "newest";
think of it like examining css selections
#new = 1 selection
#new, .newer = 2 selections
#new, .newer, newest = 3 selections
*/
/* get length of selector */
var l = selector.length;
var s = [];
var ls = new Array();
/* create a temporary holder for the selector */
var tmp = selector;
/* default number of selects is one */
s.selections = 1;
/* seperate each select */
s.selects = new Array();
/* split each character of the string up to find how many comma
characters exist
for eac comma character increment s.selections by 1*/
for(var i = 0; i < (l - 1);i++) {
ls = tmp.split("", 1);
tmp = tmp.replace(ls, "");
if(ls == ",") {
s.selections++;
}
}
/* reset the temporary holder */
tmp = selector;
/* split each selection into an array */
for(var j = 0; j < s.selections; j++) {
s.selects[j] = tmp.split(",", 1);
tmp = tmp.replace(s.selects[j] + ",", "");
}
return (s.selects);
}
can be optimized further and if so how ?
here is the script.
function examine(selector) {
/*
if selector = "#new, .newer, newest"
output will be :
selections = 3; // there are 2 commas
s.selects[0] = "#new";
s.selects[2] = ".newer";
s.selects[3] = "newest";
think of it like examining css selections
#new = 1 selection
#new, .newer = 2 selections
#new, .newer, newest = 3 selections
*/
/* get length of selector */
var l = selector.length;
var s = [];
var ls = new Array();
/* create a temporary holder for the selector */
var tmp = selector;
/* default number of selects is one */
s.selections = 1;
/* seperate each select */
s.selects = new Array();
/* split each character of the string up to find how many comma
characters exist
for eac comma character increment s.selections by 1*/
for(var i = 0; i < (l - 1);i++) {
ls = tmp.split("", 1);
tmp = tmp.replace(ls, "");
if(ls == ",") {
s.selections++;
}
}
/* reset the temporary holder */
tmp = selector;
/* split each selection into an array */
for(var j = 0; j < s.selections; j++) {
s.selects[j] = tmp.split(",", 1);
tmp = tmp.replace(s.selects[j] + ",", "");
}
return (s.selects);
}