TypeScript 中 for in、for of 的区别

let arr = [“www.itpow.com”, “千一网络”]; for (let i in arr卡塔尔国 {
console.log(i卡塔尔; // 0、1 } for (let item of arrState of Qatar { console.log(item卡塔尔国; //
www.itpow.com、千一网络 }

for in 循环不时用,因为它是索引值。

光阴: 2019-03-18读书: 443标签: array 1.push向数组末尾添卢比素

 

let arr = [4, 5, 6]; for (let index in arr) { console.log(index); }

参数:不分明个数,并且类型也不明显,要丰盛的新因素重返:新增后的数组原有数组改造比方:

结果为:0、1、2

var arr = ["Banana", "Orange", "Apple"];arr.push("Pear");console.log(arr)

for of 比较常用,它是元素值。

结果:[“Banana”, “Orange”, “Apple” , “Pear”]

let arr = [4, 5, 6]; for (let item of arr) { console.log(item); }

2.unshift向数组发轫增新币素

结果为:4、5、6

参数:不鲜明个数,并且档案的次序也不分明,要加上的新因素重回:新扩张后的数组原有数组改动举个例子:

forEach 平常用于全数因素管理二次的情景

var arr = ["Banana", "Orange", "Apple"];arr.unshift("Pear");console.log(arr)

let arr = [4, 5, 6]; arr.forEach((item, index, arr1) => {
console.log(item); })

结果:[“Pear”,”Banana”, “Orange”, “Apple”]

forEach 特性:

3.pop剔除数组末尾生龙活虎项

  • 不能 break。
  • 还未重回值。

参数:再次回到:删除数组的个数原有数组改动举个例子:

some 表示若是回到 true,就 break,并将 true 赋给重回值。

var arr = ["Banana", "Orange", "Apple"];arr.pop();console.log(arr)

let arr = [4, 5, 6]; let result = arr.some((item, index, arr1) => {
console.log(index); if (item > 4) { return true; } })
console.log(result);

结果:[“Banana”, “Orange”]

结果为:0、1、true。

4.shift删减数组的首先项

如果未有 return,等同于 return false。

参数:再次回到:删除的因素原有数组改换比如:

every 代表假使回到 false,就 break,并将 false 赋给重临值。

var arr = ["Banana", "Orange", "Apple"];arr.shift();console.log(arr)

let arr = [4, 5, 6]; let result = arr.every((item, index, arr1) =>
{ console.log(index); if (item > 4) { return true; } })
console.log(result);

结果:[“Orange”, “Apple”]

结果为:0、false

5.join为数组增添钦赐的相间符

蓬蓬勃勃旦未有 return,等同于 return false,所以上述示范在循环第八个要素后,就
break 了。

参数:能够有,能够是叁个分隔符,不写默许是(”,”)重回分开后的字符串原有数组不改变比如:

说一千道生龙活虎万,即使要刨除数组中的八个成分,还得用 while。

var arr = ["Banana", "Orange", "Apple"];console.log(arr.join(","))

结果:Banana,Orange,Apple

6.toString

相当于join()或join(“,”)例如:var arr = [“Banana”, “Orange”,
“Apple”];console.log(arr.toString())结果:Banana,Orange,Apple

7.slice找某大器晚成区域内的项,重临成新数组情势

slice(n,m卡塔尔(قطر‎从索引n开首截取到索引为m,但不含有m;m不写的话私下认可截取到终极;n和m都不写,暗中同意是复制生龙活虎份千篇一律的数组将找到的新数组再次来到原有数组不会转移举个例子:var
arr = [“Banana”, “Orange”,
“Apple”,”Pear”,”watermelon”];console.log(arr.slice(1,3));结果:[“Orange”,
“Apple”]

8.concat(State of Qatar将2个数组链接起来

concat(卡塔尔克隆风流浪漫份新的数组(原有数组不改变)等价于slice()或许slice(0)原有数组不转移举例:var
arr1 = [“Banana”, “Orange”]var arr2 =
[“Apple”,”Pear”,”watermelon”]console.log(arr1.concat(arr2));结果:[“Banana”,
“Orange”, “Apple”, “Pear”, “watermelon”]

9.splice(n,m卡塔尔(قطر‎ 从索引n伊始删除m个元素

splice(n,m,x卡塔尔从索引n开端删除m个成分,重临删除的成分(数组State of Qatar,况且将去除的区域用x取代—数组的校订替换假设m是0的话,相当于还没删除,也正是在数组中的钦赐区域加多新的因素再次来到:删除的项便是新的数组再次回到原有数组是更动的比方:var
arr = [“Banana”,
“Orange”,”Apple”,”Pear”,”watermelon”]console.log(arr.splice(2,1,”grape”))结果:
[“Banana”, “Orange”, “grape”, “Pear”,
“watermelon”]console.log(arr卡塔尔国;//打字与印刷出删除的因素结果:[“Apple”]

10.reverse 将数组倒过来排列

本来数组退换举例:var arr = [“Banana”,
“Orange”,”Apple”]console.log(arr.reverse());结果:[“Apple”, “Orange”,
“Banana”]

11.sort数组排序,只好管理10以内的

原始数组退换排序后:[1, 5, 10, 25, 40, 100]例如:var points =
[40,100,1,5,25,10];points.sort(function(a,b){return
a-b});console.log(points)

12.forEach() 遍历

let arr = [1,2,5];arr.forEach(function(item,index){console.log(item);})// 1 2 5

13.map(卡塔尔国 映射:经常用来数据绑定

let arr = [1,3,6];console.log(arr.map(item = item*2));//[2,6,12]

14.filter 过滤;

万叁次调函数重返true,则将次成员过滤出来,放到再次回到值中;借使为false,没有必要放进再次回到值中let
arr = [100,55,67,88,99,10];let res = arr.filter(item =
item60);console.log(res);//[100, 67, 88, 99]

15.find()

招来知足条件第豆蔻年华项值,若是找到那么些值直接终止find函数,假使找不到满意条件的项,则再次来到undefined[找true]let
arr = [100,55,66,30,40,25];let res = arr.find(item =
item99);console.log(res);//100let res1 = arr.find(item =
item200);console.log(res1);//undefined

16.every

回去值boolean,当回调函数都回来true,则every那几个方法重临true;如若有多少个是false,那么全部结果就是false,只要回到false,every就无需在循环向下进行了【找false】let
arr = [1,2,3,4,5];let res = arr.every(item =
item5);console.log(res);//false

17.some:

归来二个布尔值
只要回调函数有二个回去true,那么some重临值就是true,当有着的都不满意条件,结果回到false;let
arr = [50,30,55,70]let a = arr.some(item =
item50);console.log(a);//true

18.includes:

富含 检验数组是不是带有某风华正茂项:假如带有重临true,不含有再次来到falselet arr =
[1, 2, 3, 4, 56, 7];console.log(arr.includes(2));//true

19.reduce

冰释,求和
prev:代表除第三次巡回外,代表上三次回调函数的重返值;第二次prev代表首先项;let
arr = [1, 2, 3, 4, 5];

{ console.log(prev + next); return prev + next;});//15let arr =
[{price: 2, count: 10, name: 面筋}, {price: 1, count: 5, name: 烤肠}, {
price: 3, count: 8, name: 鸡翅}, {price: 3, count: 6, name:
啤酒}];arr.reduce((prev,next)=>{ return prev + next.price *
next.count;},0)//67″ title=”” data-original-title=”复制”>

arr.reduce((prev, next) = { console.log(prev + next); return prev + next;});//15let arr = [{price: 2, count: 10, name: "面筋"}, {price: 1, count: 5, name: "烤肠"}, { price: 3, count: 8, name: "鸡翅"}, {price: 3, count: 6, name: "啤酒"}];arr.reduce((prev,next)={ return prev + next.price * next.count;},0)//67
You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图