ES6 数组方法的使用(every() 、fliter()、map()、some()、includes()

1. every()方法

eg:判断数组中的 元素都大于 0 吗?

var arr = [50,1,2,3,3,4,5,10,20]
var flag = arr.every(function (e) {
        return e > 0;
    })
console.log(flag);  //true


//或者打印e看看
arr.every(function(e){ 
   console.log(e, e>0 );  //50 true、1 true、2 true、3 true....
   return e>0
})


//若果在数组中添加一项<0的元素(-1)
var arr = [50,1,2,3,-1,3,4,5,10,20]
var flag = arr.every(function (e) {
    return e > 0;
 })
 console.log(flag);  //false


arr.every(function(e){ 
    console.log(e, e>0 );  //50 true、1 true、2 true、3 true、-1 false(后面的不执行)
    return e>0
})

总结:every()是对数组中每一项运行给定函数,如果该函数所有一项返回true,则返回true。一旦有一项不满足则返回flase

 

2. fliter()方法:

eg:取数组中 大于等于 5的元素 放到一个新数组中

var arr = [50,1,2,3,-1,3,4,5,10,20]
var flag = arr.filter(item=>{
    if (item >= 5) {
       return item;
    }
});
console.log(flag);  //[50, 5, 10, 20]

总结:filter会返回一个新的数组,它用于把Array的某些元素过滤掉,然后返回剩下的元素,不影响原数组。

 

3. map()方法:

eg:将数组中的每个元素都扩大2倍

var arr = [50,1,2,3,-1,3,4,5,10,20]
var flag = arr.map(item=>{
     return item * 2
})
console.log(flag);  //[100, 2, 4, 6, -2, 6, 8, 10, 20, 40]

总结:map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

 

3.1.  注意:

eg2:取数组中 大于等于 5的元素(此处为fliter和map方法的区别)

var arr = [50,1,2,3,-1,3,4,5,10,20]

//filter
 var flag = arr.filter(item=>{
     return item > 5;
 });
 console.log(flag);   //[50, 10, 20]



//map(第一种)
 var flag = arr.map(item=>{
     return item > 5
 })
 console.log(flag);  //[true, false, false, false, false, false, false, false, true, true]

//map(第二种)
var flag = arr.map(item=>{
    if (item > 5) {
           return item;
        }
     })
console.log(flag);   //[50, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 10, 20]

总结  (filter和map的区别):filter方法,过滤数组中满足条件的元素,将满足条件的数组放在一个新的数组中,返回这个新的数组。
map方法,批量处理数组中的元素,并将处理后的元素放在新的数组中,返回这个新的数组

 

 

4. some() 方法:

eg:判断数组中有大于10的元素吗

var arr = [50,1,2,3,-1,3,4,5,10,20] 
var flag = arr.some(item=>{
     return item > 10
})
console.log(flag);  //true(若数组中没有大于10的数字则返回false)

总结:some()是对数组中每一项运行给定函数,如果该函数满足任一项返回true,否则返回false

 

5. includes()方法:

eg:判断数组中是否有4这个数字

var arr = [50,1,2,3,-1,3,4,5,10,20]
var flag = arr.includes(4)
console.log(flag);  //true

总结:includes方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false

 

 

你可能感兴趣的:(JS,es6/es7)