数组中的方法?some();   every();  filter(); reduce(); arguments.callee ?关于参数?二维数组?

some();   返回一个布尔值。判断数组中所有元素是否存在满足条件的,如果遇到一次满足则不再继续判断,直接返回true,否则返回false。经常用来写条件,如if ( arr.some( function ( t ) { return t >5 } )) { 满足条件时执行的语句块  }  指判断数组中是否有大于5的值。

查询对象型数组中是否有满足条件的元素

<script>
        var data=[
            {id:1001,name:"餐饮1",num:1,price:10},
            {id:1002,name:"餐饮2",num:1,price:20},
            {id:1003,name:"餐饮3",num:1,price:30},
            {id:1004,name:"餐饮4",num:1,price:40},
            {id:1005,name:"餐饮5",num:1,price:50},
            {id:1006,name:"餐饮6",num:1,price:60},
            {id:1007,name:"餐饮7",num:1,price:70},
            {id:1008,name:"餐饮8",num:1,price:80},
            {id:1009,name:"餐饮9",num:1,price:90},
        ];
        if(data.some(function (t){ return t.id===1005})){
            console.log("有");
        }
        console.log(data);
</script>

every();   返回一个布尔值。对数组的每个元素判断是否满足条件,如果有一个不满足条件就返回为false,全部满足时则返回true

filter();  返回一个数组。常用于购物车中,如判断数组中每个元素是否都被选中

if ( data.length===data.filter(function (t) { return t.selected }).length ) {    }

reduce(); 有两个参数。第一个参数是function()(function(sum,item,index)里又有三个参数),第二个参数是initValue初始值,如果设置这个初始值,index就从0开始。

实例就是真实的例子。如arr.sort();这个arr就是真实的数组。而Array.isArray();这个Array就是类名,即类别的名字。

Array.prototype.slice.call(div); //指将非数组或类数组转化为数组,ES5中

Array.from(div);  //也是将类数组转化为数组,ES6中。

比较最大值,不限制比较个数。

<script>
        function max(){
            //arguments是函数中都可以获取到的,是参数集合
            var arr=Array.from(arguments); //Array.form用于将非数组转化为数组
            return arr.reduce(function(p1,p2){ //reduce的function中有两个参数时第一个指头部元素,第二个p2指头部的下一个的元素
                return p1>p2? p1 : p2;  //比较p1和p2返回最大者,比较完了接着拿max和下一个元素比较再返回最大者...
            });
        }
        console.log(max(2,8,5,55,6)); //任意输入需要比较的数
</script>

arguments.callee  当前执行的函数

arguments.callee.caller   回调当前函数的父级函数

参数?

函数里面的参数实参都必须对应填写,宁愿填写为undefined、null也不能留空。

参数如果写在所有参数的最前面,那就是必要参数。

ES5中所有的参数一般都需按位填写,如果没有填写,就会变成undefined。

多填入的参数不会被直接获取到。

 

可尝试轮播图。

二维数组?

常用于拼图游戏,2D游戏,贪吃蛇,坦克大战,都是平面二维表格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值