打字稿
varnums:number[]=[1,2,3,4]console.log(nums[0]);console.log(nums[1]);console.log(nums[2]);console.log(nums [3]);
JavaScript
varnums=[1,2,3,4];console.log(nums[0]);console.log(nums[1]);console.log(nums[2]);console.log(nums[3] );
输出是:
1234
打字稿
vararr_names:number[]=newArray(4)for(vari=0;i
长度;i++){arr_names[i]=i*2console.log(arr_names[i])}
编译上面的代码,得到下面的JavaScript代码:
JavaScript
vararr_names=newArray(4);for(vari=0;i <arr_names.length;i++){arr_names[i]=i*2;console.log(arr_names[i]);}
输出是:
第0246章
打字稿
varsites:string[]=newArray("Google","Runoob","淘宝","Facebook")for(vari=0;i
.length;i++){console.log(sites[i])}
编译上面的代码,得到下面的JavaScript代码:
JavaScript
varsites=newArray("Google","Runoob","淘宝","Facebook");for(vari=0;i <sites.length;i++){console.log(sites[i]);}
输出是:
谷歌Runoob淘宝Facebook
字段解释
我们还可以将链表元素作为形式参数传递给变量typescript里面的数组,如下所示:
打字稿
vararr:number[]=[12,13]var[x,y]=arr//将字段的二元形参赋予变量x和yconsole.log(x)console.log(y)
编译上面的代码,得到下面的JavaScript代码:
JavaScript
vararr=[12,13];varx=arr[0],y=arr[1];//将字段的二元形参赋予变量x和yconsole.log(x);console.log(y) ;
输出是:
1213
场迭代
打字稿
varj:any;varnums:number[]=[1001,1002,1003,1004]for(jinnums){console.log(nums[j])}
编译上面的代码,得到下面的JavaScript代码:
JavaScript
varj;varnums=[1001,1002,1003,1004];for(jinnums){console.log(nums[j]);}
输出是:
一个链表的元素可以是另一个链表,从而形成一个多维字段(Multi-DimensionalArray)。
vararr_name:数据类型[][]=[[val1,val2,val3],[v1,v2,v3]]
例子
定义一个二维字段,链表每个维度有三个元素。
打字稿
varmulti:number[][]=[[1,2,3],[23,24,25]]console.log(multi[0][0])console.log(multi[0][1])console .log(多[0][2])console.log(多[1][0])console.log(多[1][1])console.log(多[1][2])
编译上面的代码,得到下面的JavaScript代码:
JavaScript
varmulti=[[1,2,3],[23,24,25]];console.log(multi[0][0]);console.log(multi[0][1]);console.log(多[0][2]);console.log(多[1][0]);console.log(多[1][1]);console.log(多[1][2]);
输出是:
在函数中使用链表
作为参数传递给函数
打字稿
varsites:string[]=newArray("Google","Runoob","淘宝","Facebook")functiondisp(arr_sites:string[]){for(vari=0;i
编译上面的代码,得到下面的JavaScript代码:
JavaScript
varsites=newArray("Google","Runoob","淘宝","Facebook");functiondisp(arr_sites){for(vari=0;i <arr_sites.length;i++){console.log(arr_sites[i]);}}disp(sites);
输出是:
谷歌Runoob淘宝Facebook
作为函数的返回值
打字稿
functiondisp():string[]{returnnewArray("Google","Runoob","淘宝","Facebook");}varsites:string[]=disp()for(variinsites){console.log(sites[i] )}
编译上面的代码,得到下面的JavaScript代码:
021d0ab6aa89ed067499a184c02c884e
JavaScript
functiondisp(){returnnewArray("Google","Runoob","淘宝","Facebook");}varsites=disp();for(variinsites){console.log(sites[i]);}
输出是:
谷歌Runoob淘宝Facebook
链表法
方法及说明
例子
1.
varalpha=["a","b","c"];varnumeric=[1,2,3];varalphaNumeric=alpha.concat(numeric);console.log("alphaNumeric:"+alphaNumeric);//a ,b,c,1,2,3
2.
functionisBigEnough(element,index,array){return(element>=10);}varpassed=[12,5,8,130,44].every(isBigEnough);console.log("TestValue:"+passed);//false
3.
filter() 测量数字元素并返回满足条件的所有元素的字段。
functionisBigEnough(element,index,array){return(element>=10);}varpassed=[12,5,8,130,44].filter(isBigEnough);console.log("TestValue:"+passed);//12,130 ,44
4.
编译成JavaScript代码:
letnum=[7,8,9];num.forEach(function(value){console.log(value);});
varnum=[7,8,9];num.forEach(function(value){console.log(value);//789});
5.
indexOf() 在链表中搜索元素并返回其位置。 如果搜索不到,返回值为-1,表示不存在该项。
varindex=[12,5,8,130,44].indexOf(8);console.log("indexis:"+index);//2
6.
vararr=newArray("Google","Runoob","淘宝");varstr=arr.join();console.log("str:"+str);//Google,Runoob,Taobaovarstr=arr.join(" ,");console.log("str:"+str);//Google,Runoob,Taobaovarstr=arr.join("+");console.log("str:"+str);//Google+Runoob +淘宝
7.
lastIndexOf() 返回指定字符串值的最后一次出现的位置,在字符串中的指定位置从后到前搜索。
varindex=[12,5,8,130,44].lastIndexOf(8);console.log("indexis:"+index);//2
8.
map()通过指定的函数处理链表的每个元素并返回处理后的链表。
varnumbers=[1,4,9];varroots=numbers.map(Math.sqrt);console.log("rootsis:"+roots);//1,2,3
9.
pop() 删除链表的最后一个元素并返回被删除的元素。
varnumbers=[1,4,9];varelement=numbers.pop();console.log("elementis:"+element);//9varelement=numbers.pop();console.log("elementis:"+element );//4
10.
push() 将一个或多个元素添加到链表末尾并返回新的厚度。
varnumbers=newArray(1,4,9);varlength=numbers.push(10);console.log("newnumbersis:"+numbers);//1,4,9,10length=numbers.push(20);console .log("newnumbersis:"+numbers);//1,4,9,10,20
11.
reduce() 将链表的元素计算为一个值(从左到右)。
vartotal=[0,1,2,3].reduce(function(a,b){returna+b;});console.log("totalis:"+total);//6
12.
reduceRight() 将链表的元素计算为一个值(从右到左)。
vartotal=[0,1,2,3].reduceRight(function(a,b){returna+b;});console.log("总计:"+total);//6
13.
vararr=[0,1,2,3].reverse();console.log("反转数组是:"+arr);//3,2,1,0
14.
shift() 删除并返回链表的第一个元素。
vararr=[10,1,2,3].shift();console.log("移位后的值是:"+arr);//10
15.
vararr=["橙子","芒果","香蕉","糖","茶"];console.log("arr.slice(1,2):"+arr.slice(1,2)); //mangoconsole.log("arr.slice(1,3):"+arr.slice(1,3));//芒果、香蕉
16.
some() 测量链表中的任何元素是否满足指定条件。
functionisBigEnough(element,index,array){return(element>=10);}varretval=[2,5,8,1,4].some(isBigEnough);console.log("返回值是:"+retval);/ /falsevarretval=[12,5,8,1,4].some(isBigEnough);console.log("返回值是:"+retval);//true
17.
vararr=newArray("orange","mango","banana","sugar");varsorted=arr.sort();console.log("Returnedstringis:"+sorted);//香蕉、芒果、橙子、糖
18.
splice() 在链表中添加或删除元素。
vararr=["橙子","芒果","香蕉","糖","茶"];varremoved=arr.splice(2,0,"水");console.log("Afteradding1:"+arr) ;//橙子、芒果、水、香蕉、糖、teaconsole.log("removedis:"+removed);removed=arr.splice(3,1);console.log("Afterremoving1:"+arr);// Orange,mango,water,sugar,teaconsole.log("removedis:"+removed);//香蕉
19.
toString() 将链表转换为字符串并返回结果。
vararr=newArray("orange","mango","banana","sugar");varstr=arr.toString();console.log("返回的字符串是:"+str);//orange,mango,banana,sugar
20.
取消移位()
将一个或多个元素添加到链表的开头并返回新的厚度。
vararr=newArray("orange","mango","banana","sugar");varlength=arr.unshift("water");console.log("Returnedarrayis:"+arr);//水,orange,芒果,香蕉typescript里面的数组,sugarconsole.log("数组长度为:"+length);//5