On 7/27/06, Steven Sacks | BLITZ <[EMAIL PROTECTED]> wrote:
Here are the methods that use push, btw:
compact
deleteAll
deleteIf
filter
indexes
map
uniq
Below.
Is there something like a test yet so I can make sure I didn't
accidentally introduced some errors?
Mark
function compact() {
var i = -1;
var n = this.length;
var r = [];
var index = 0;
for (var a = 0; a < n; a++) {
var e = this[a];
if (e !== null && e !== undefined) {
r[ index++ ] = e;
}
}
};
function deleteAll(obj) {
var n = this.length;
var r = [];
var index = 0;
if (!(obj instanceof Array)) {
for (var a = 0; a < n; a++) {
var e = this[a];
if (e == obj) r[ index++ ] = e;
}
} else {
for (var a = 0; a < n; a++) {
var e = this[a];
if (!e.eql(obj)) r[ index++ ] = e;
}
}
this.replicate(r);
};
function deleteIf(block) {
var r = [];
var n = this.length;
var index = 0;
for (var a = 0; a < n; a++) {
var e = this[a];
if (!block(e)) {
r[ index++ ] = e;
}
}
this.replicate(r);
};
function filter(block) {
var r = [];
var n = this.length;
var index = 0;
for (var a = 0; a < n; a++) {
var e = this[a];
if (block(e)) r[ index++ ] = e;
}
return r;
};
function indexes() {
var r = [];
var l = arguments.length;
var n = this.length;
var index = 0;
for (var a = 0; a < l; a++) {
var e = arguments[a];
if (e > -1 && e < n) {
r[ index++ ] = this[e];
} else {
r[ index++ ] = undefined;
}
}
return r;
};
function map(block) {
var r = [];
var n = this.length;
var index = 0;
for (var a = 0; a < n; a++) {
r[ index++ ] = block(this[a]);
}
return r;
};
function uniq() {
var r = [];
var l = this.length;
var index = 0;
for (var a = 0; a < l; a++) {
var e = this[a];
if (!r.has(e)) r[ index++ ] = e;
}
return r;
};
<<<
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com