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初始化为空数组[],不初始化会报错。