typescript filter和map的区别
let arr=[3,5,17,15,4,14];
let res2=arr.filter((item,index,array)=>{
return item>5;
});
console.log(res2) //[ 17, 15, 14 ]
map()方法返回的结果是:[ false, false, true, true, false, true ]
map() 的结果只是对当前元素调用函数后,将符合条件boolean类型值返回给到新的数组
filter() 会将结果为true的数组值存到新的数组里面。
TypeScript 遍历数组的方法有哪些?
TypeScript继承自JavaScript,因此可以使用JavaScript中的所有数组遍历方法,包括:
作者:独行客
链接:https://www.zhihu.com/question/589874216/answer/2944983366
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
for
循环
可以使用传统的for
循环遍历数组。例如:
const arr: number[] = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
forEach()
方法
可以使用forEach()
方法遍历数组,它接受一个回调函数作为参数,回调函数接受三个参数:当前元素的值、当前元素的索引和数组本身。例如:
const arr: number[] = [1, 2, 3, 4, 5];
arr.forEach((value, index, array) => {
console.log(value);
});
map()
方法
可以使用map()
方法遍历数组,它接受一个回调函数作为参数,回调函数返回一个新的数组,新数组的元素是根据原数组的元素经过处理后得到的。例如:
const arr: number[] = [1, 2, 3, 4, 5];
const newArr = arr.map((value, index, array) => {
return value * 2;
});
console.log(newArr);
filter()
方法
可以使用filter()
方法遍历数组,它接受一个回调函数作为参数,回调函数返回一个布尔值,表示当前元素是否应该被包含在新的数组中。例如:
const arr: number[] = [1, 2, 3, 4, 5];
const filteredArr = arr.filter((value, index, array) => {
return value % 2 === 0;
});
console.log(filteredArr);
reduce()
方法
可以使用reduce()
方法遍历数组,它接受一个回调函数作为参数,回调函数接受四个参数:累加器、当前元素的值、当前元素的索引和数组本身。回调函数返回的值作为下一次调用回调函数的累加器的值。例如:
const arr: number[] = [1, 2, 3, 4, 5];
const sum = arr.reduce((accumulator, currentValue, currentIndex, array) => {
return accumulator + currentValue;
}, 0);
console.log(sum);
还有其他一些数组遍历方法,如some()
、every()
、find()
、findIndex()
等,它们的使用方法与上述方法类似,根据实际需求选择适合的方法即可。
变量var let const的区别
在 JavaScript
中可以通过关键字 var
、 let
、 const
来声明变量,当然 TypeScript 中同样也可以。
这三种声明变量的方式各有不同,如下所示:
- 使用
var
关键字声明变量,其作用于为该语句所在的函数内, 且存在变量提升现象。 let
的声明类似于var
,但是它的作用域为该语句所在的代码块内,不存在变量提升。注意它们一个是函数内,一个是代码块内,代码块就是直接使用{}
括起来的代码。const
是let
的一个扩展,它可以防止重新分配变量,一般用来声明常量,在后面出现的代码中不能再修改常量的值。