1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
=== tests/cases/compiler/extendArray.ts ===
var a = [1,2];
>a : number[]
>[1,2] : number[]
>1 : 1
>2 : 2
a.forEach(function (v,i,a) {});
>a.forEach(function (v,i,a) {}) : void
>a.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void
>a : number[]
>forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void
>function (v,i,a) {} : (v: number, i: number, a: number[]) => void
>v : number
>i : number
>a : number[]
declare module _Core {
interface Array {
collect(fn:(e:_element) => _element[]) : any[];
>collect : (fn: (e: any) => any[]) => any[]
>fn : (e: any) => any[]
>e : any
}
}
var arr = (<any>Array).prototype;
>arr : any
>(<any>Array).prototype : any
>(<any>Array) : any
><any>Array : any
>Array : ArrayConstructor
>prototype : any
arr.collect = function (fn) {
>arr.collect = function (fn) { var res = []; for (var i = 0; i < this.length; ++i) { var tmp = fn(this[i]); for (var j = 0; j < tmp.length; ++j) { res.push(tmp[j]); } } return res;} : (fn: any) => any[]
>arr.collect : any
>arr : any
>collect : any
>function (fn) { var res = []; for (var i = 0; i < this.length; ++i) { var tmp = fn(this[i]); for (var j = 0; j < tmp.length; ++j) { res.push(tmp[j]); } } return res;} : (fn: any) => any[]
>fn : any
var res = [];
>res : any[]
>[] : undefined[]
for (var i = 0; i < this.length; ++i) {
>i : number
>0 : 0
>i < this.length : boolean
>i : number
>this.length : any
>this : any
>length : any
>++i : number
>i : number
var tmp = fn(this[i]);
>tmp : any
>fn(this[i]) : any
>fn : any
>this[i] : any
>this : any
>i : number
for (var j = 0; j < tmp.length; ++j) {
>j : number
>0 : 0
>j < tmp.length : boolean
>j : number
>tmp.length : any
>tmp : any
>length : any
>++j : number
>j : number
res.push(tmp[j]);
>res.push(tmp[j]) : number
>res.push : (...items: any[]) => number
>res : any[]
>push : (...items: any[]) => number
>tmp[j] : any
>tmp : any
>j : number
}
}
return res;
>res : any[]
};
|