ECMAscript6(javascript)之常用的数组方法-----------2020-03-26

ECMAscript6(javascript)之常用的数组方法-----------

  //case只是指明了要执行的代码起点,但并没有指明终点。

//需要 break或return 打断

//由于对每个case的匹配操作实际上是“===”恒等运算符比较,因此并不会做任何类型转换。   

switch(n=1){ 

    case 1://如果n===1,从这里开始执行

    //执行代码块1

    break;//停止执行switch语句

    case 2://如果n===2,从这里执行

    //执行代码块2

    break;//在这里停止执行switch语句

    case 3://如果n===3,从这里执行

    //执行代码块3

    break;//在这里停止执行switch语句

    default://如果所有的条件都不匹配

    //执行代码块4

    break;//在这里停止执行switch语句

    }

//   for/in循环  并不会遍历对象的所有属性,只有“可枚举”(enumerable)的属性才会遍历到 

    var array_for_in  = [1,2,3,4]   

    for(var i in array_for_in)//将属性名字赋值给变量p

    console.log(array_for_in[i]);//输出每一个属性的值    

//《----------------------------------------------------数组方法----------------------------------------------------------》

var array = [1,2,3];

//--------forEach遍历数组中的元素

var sum = 0;

array.forEach(element => {sum += element;});

array.forEach(function(element){ sum += element});//迭代器函数  形参element---接收数组array里的每一个对象

function test(a){ sum += a}; array.forEach(test);

console.log('forEach----',sum);

//--------map返回的是一个数组

var array_map = array.map( function(element){ 

    return element * 2;})

console.log('array_map----',array_map);

//通过map获取 对象数组元素 的属性

const cars = [ {model:"宝马",price:"非常便宜"},{model:"特斯拉",price:"还行"},

{model:'周鑫',price:'无价'},{model:'周鑫',price: 100},{model:'周鑫',price: 100,id:2}]//对象数组

var array_map_model = cars.map( element => { return element.model});

console.log('array_map_model----',array_map_model);

// var array_map_price = cars.map(function test001(element){ return element.price});

function test001(element){ return element.price}

var array_map_price = cars.map(test001);

console.log('array_map_price----',array_map_price);

//--------filter按匹配条件过滤,返回的是一个数组

var array_filter = cars.filter( function(element){ 

    return element.model==="周鑫" && element.price===100;//返回array_filter中 所有 符合条件的元素组成的新数组

});  console.log('array_filter',array_filter) //[ { model: '周鑫', price: 100 }, { model: '周鑫', price: 100, id: 2 } ]

//--------find  一找到符合条件结果的,就会退出

var posts = [ {id:1,tittle:"周鑫"},{id:2,tittle:"鄱阳县凰岗镇"}];

var comment = [ {zx_id:1,tittle:"周鑫好帅"},{id:3,tittle:"鄱阳县凰岗镇"}];

function test002(posts,comment){ 

    return posts.find( function(element){

         return element.id === comment.zx_id})

}

console.log("find----",test002(posts,comment));

//--------Every(一假即假) 和 Some(一真即真) 返回布尔值,且一旦符合 后面就不再判断!

var computers = [ 

    {name:"Apple",ram:8},{name:"IBM",ram:4},{name:"Acer",ram:32}

]

var every = computers.every( function(element){ 

    return element.ram < 16;

});   console.log('every--- ',every); 

var some = computers.some( function(element){ 

    return element.ram < 16;

});    console.log('some--- ',some);

//--------reduce 接收两个参数--> (element初始值,element)

var sumValue = array.reduce(function(sum,element){ 

    return sum+element;

},10000);   console.log('sumValue',sumValue);

var cars_reduce = cars.reduce( function(array_reduce,element){ 

    array_reduce.push(element.model);

    return array_reduce;

},[]);    console.log('cars_reduce',cars_reduce);

//array_reduce初始化为空数组[],不初始化会报错。

你可能感兴趣的:(ECMAscript6(javascript)之常用的数组方法-----------2020-03-26)