JavaScript-数组(常用)

forEach  ES5新增的方法,用来遍历数组,没有返回值 默认有三个参数,分别为value(遍历到的数组的数据),index(对应的索引),self(数组自身)。
filter  (过滤)回调函数需要返回布尔值,当为true时,将本次数组的数据返回给filter,最后filter将所有回调函数的返回值组成新数组返回 默认有三个参数(同forEach)
every  判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true。  
map  回调函数会将执行结果返回,最后map将所有回调函数的返回值组成新数组返回。 默认有三个参数(同forEach)
some  判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。  
  一、every
let data = [{id: 1, check: true},{id: 2, check: false},{id: 3, check: false},{id: 4, check: true}];
let selectAll = data.every(item=>{
   return item.check;
});
console.log("every函数:"+selectAll) // data中每一项都为true才会返回true

 

二、filter
let data = [{id: 1, check: true},{id: 2, check: false},{id: 3, check: false},{id: 4, check: true}];
let newData = data.filter(item=>{
  return item.check;
});
// [ { id: 1, check: true }, { id: 4, check: true } ]
console.log(newData); // 返回true的项组成的数组 
  三、forEach
let num = 0;
data.forEach(item=>{
    if(item.id == 1 || item.id == 3) {
        return;
    }
    num++;
});
console.log(num) // 2

 

四、map
var arr = [1,2,3,4,5,6];
var filterArr = arr.map((item=>{
    return item+=1;
}));
// [ 2, 3, 4, 5, 6, 7 ]
console.log(filterArr) 

 

五、some
let hasCheck = data.some(item=>{
    return item.check;
});
console.log("some函数:"+hasCheck); // data中任一一项返回true则会返回true

 

 六、reduce    功能:从数组的第一项开始,逐个遍历到最后,迭代数组的所有项,然后构建一个最终返回的值。   参数:reduce()接收一个或两个参数:第一个是回调函数,表示在数组的每一项上调用的函数;第二个参数(可选的)作为归并的初始值,被回调函数第一次执行时的第一个参数接收。reduce(callback,initial);   callback默认有四个参数,分别为prev,now,index,self。 
    //demo:使用reduce计算数组中所有数据的和
    var arr = [10,20,30,40,50];
    var sum = arr.reduce(function(prev,now,index,self){
        return prev + now;
    })
    console.log(sum);      //150
    // 回调函数的最后一次return的结果被返回到reduce方法的身上

    //demo:使用reduce计算数组中所有数据的和
    var arr = [10,20,30,40,50];
    var sum = arr.reduce(function(prev,now,index,self){
        return prev + now;
    }, 8)
    console.log(sum);      //158
    // 回调函数的最后一次return的结果被返回到reduce方法的身上
    // 因为reduce有第二个参数initial,在第一次执行时被计算,所以最终结果被加上8

 

七、IndexOf

     功能:根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引

     参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1

     注意:如果找到该数据,立即返回该数据的索引,不再往后继续查找

var str = ["h","e","l","l","o"];
console.log(str.indexOf("l"));        //2

 

八、valueOf

    功能:返回数组的原始值(一般情况下其实就是数组自身),一般由js在后台调用,并不显式的出现在代码中

var str = [1,2,3];
console.log(str.valueOf());         //[1,2,3]
console.log(str);                   //[1,2,3]
//为了证明返回的是数组自身
console.log(str.valueOf() == str);  //true

 

   
上一篇:Swagger学习笔记


下一篇:整数二分 模板