|
@@ -43,11 +43,13 @@ final class Array<T> implements ArrayAccess<Int,T> {
|
|
|
|
|
|
public inline function filter(f:T->Bool):Array<T> {
|
|
|
var result = Syntax.arrayDecl();
|
|
|
- Syntax.foreach(arr, function(_, value:T) {
|
|
|
- if(f(value)) {
|
|
|
- result.push(value);
|
|
|
+ var i = 0;
|
|
|
+ while(i < length) {
|
|
|
+ if(f(arr[i])) {
|
|
|
+ result.push(arr[i]);
|
|
|
}
|
|
|
- });
|
|
|
+ i++;
|
|
|
+ }
|
|
|
return wrap(result);
|
|
|
}
|
|
|
|
|
@@ -101,9 +103,11 @@ final class Array<T> implements ArrayAccess<Int,T> {
|
|
|
|
|
|
public inline function map<S>(f:T->S):Array<S> {
|
|
|
var result = Syntax.arrayDecl();
|
|
|
- Syntax.foreach(arr, function(_, value:T) {
|
|
|
- result.push(f(value));
|
|
|
- });
|
|
|
+ var i = 0;
|
|
|
+ while(i < length) {
|
|
|
+ result.push(f(arr[i]));
|
|
|
+ i++;
|
|
|
+ }
|
|
|
return wrap(result);
|
|
|
}
|
|
|
|