constarr1=[1,2,3,4];
constarr2=arr1.map(item=>item*2);
console.log(arr2);
//[2,4,6,8]
console.log(arr1);
//[1,2,3,4]
Array.prototype.filter
filter() 方法创建一个新数组,其包含通过提供函数实现的测试的所有元素,原始数组不会改变。接收的参
数和map是一样的,其返回值是一个新数组、由通过测试的所有元素组成,如果没有任何数组元素通过测试,
则返回空数组。
来个例子介绍下,现在有一个数组 [1,2,1,2,3,5,4,5,3,4,4,4,4] ,我们想要生成一个
新数组,这个数组要求没有重复的内容,即为去重。
不使用高阶函数
constarr1=[1,2,1,2,3,5,4,5,3,4,4,4,4];
constarr2=[];
for(leti=0;i<arr1.length;i++){
if(arr1.indexOf(arr1[i])===i){
//索引为2,即i=2;arr1.indexOf(arr1[i])=1,第一个1
arr2.push(arr1[i]);
}
}
console.log(arr2);
//[1,2,3,5,4]
console.log(arr1);
//[1,2,1,2,3,5,4,5,3,4,4,4,4]
constarr1=[1,2,1,2,3,5,4,5,3,4,4,4,4];
constarr2=arr1.filter((element,index,self)=>{
returnself.indexOf(element)===index;
});
console.log(arr2);
//[1,2,3,5,4]
console.log(arr1);
//[1,2,1,2,3,5,4,5,3,4,4,4,4]