Code:
<pre><script type="text/javascript" src="Array.js"></script>
<script type="text/javascript">
function test(b, s) {
if (typeof b == "boolean") {
if (b) document.writeln(s + " success");
else document.writeln("<font color='red'>" + s + " failed" + "</font>");
} else {
document.writeln("<font color='red'>test() failed: " + s + "</font>");
}
}
/*
test(true, "test(true)"); // ok
test(false, "test(false)"); // failed
test(1, "test(1)"); // failed
*/
/* Array.contains() */
var a = ["a", "b", "c"];
test(a.contains("c"), "Array.contains() - Test 1");
test(!a.contains("d"), "Array.contains() - Test 2");
/* Array.equals() */
var b1 = ["a", 12, "some"];
var b2 = ["a", "12", "some"];
var b3 = ["a", 12, "some"];
test(!b1.equals(b2), "Array.equals() - Test 1");
test(b1.equals(b3), "Array.equals() - Test 2");
/* Array.indexOf() */
var c1 = ["a", "b", "c", "12"];
test(c1.indexOf("b") == 1, "Array.indexOf() - Test 1");
test(c1.indexOf(12) == -1, "Array.indexOf() - Test 2");
/* Array.filter() */
var d1 = [5, 7, 12, 18, 23];
var d2 = [12, 18, 23];
function testFilter(i) {
return i > 10;
}
var d3 = d1.filter(testFilter);
test(d2.equals(d3), "Array.filter() - Test 1");
/* Array.applyFunc() */
var e1 = [11, 13, 15, 17];
var e2 = [9, 11, 13, 15];
function testApplyFunc(i) {
return i - 2;
}
e1.applyFunc(testApplyFunc);
test(e1.equals(e2), "Array.applyFunc() - Test 1");
/* Array.removeByIndex() */
var f1 = ["g", "h", "j"];
var f2 = ["g", "j"];
f1.removeByIndex(1);
test(f1.equals(f2), "Array.removeByIndex - Test 1");
/* Array.removeByValue() */
var g1 = ["a", "b", "c", "i", "c", "e"];
var g2 = ["a", "b", "i", "e"];
g1.removeByValue("c");
test(g1.equals(g2), "Array.removeByValue() - Test 1");
/* Array.removeDuplicates() */
var h1 = ["a", 55, "q", "s", "q", 1, 55, "some"];
var h2 = ["a", 55, "q", "s", 1, "some"];
h1.removeDuplicates();
test(h1.equals(h2), "Array.removeDuplicates() - Test 1");
/* Array.copy() */
var i1 = ["test", 100, "g"];
var i2 = i1.copy();
test(i1.equals(i2), "Array.copy() - Test 1");
/* Array.swap() */
var j1 = ["a", "b", "c"];
var j2 = ["a", "c", "b"];
j1.swap(1, 2);
test(j1.equals(j2), "Array.swap() - Test 1");
/* Array.shuffle() ??? */
var k1 = [];
</script></pre>
Some of the functions in this topic are unnecessary, for example: rsort(). There is a native reverse() method, which works the same.
Bookmarks