一、什么是内置对象
js本身已经写好的对象,我们可以直接使用不需要定义它。
常见的内置对象有
Data、Array,Math、RegExp、Error、String....
Array高级API
sort()根据数组升序排序
<script type="text/javascript"> //sort根据升序排列数组 var arr=[100,10,8,56,4]; console.log(arr); console.log(arr.sort());//这样的排序会有问题 //通过传入两个参数进行传入后,前一个参数减后一个参数就会实现数组的升序排列 console.log(arr.sort(function (a,b){ return a-b; })); //通过传入两个参数进行传入后,后一个参数减前一个参数就会实现数组的降序排列 console.log(arr.sort(function (a,b){ return b-a; })); </script>
slice():返回从原数组中指定开始下标到接收下标枝江的项组成的新数组,它可以接受一或者两个参数,即要返回的起始项和结束项,当在只有一个参数的情况下,这个方法返回从该参数指定位置开始到当前数组末尾的所有项,有两个参数该方法返回起始和结束位置之间的项,但是不包括结束的项
<script type="text/javascript"> //slice()数组的截取 var arr=[1,4,6,7,4,3,5,33]; var arr1=arr.slice(1);//从数组的第一位开始到最后 var arr2=arr.slice(1,5);//从数组的第一位到数组的第5位,单数不包括第5位 var arr3=arr.slice(1,-2); //从数组的第一位到后面的数数组的长度加上-X,在这里数组个数是8个加上-2后就是到六位包括第6位 var arr4=arr.slice(-4,-2); console.log(arr); console.log(arr1); console.log(arr2); console.log(arr3); console.log(arr4); </script>
splice():可以实现删除,插入和替换,还有清空数组
删除:可以删除任意数量的项,只需要制定2个参数,要删除的开始的位置和需要删除的个数
<script type="text/javascript"> //splice()可以实现删除任意数量的项,只需要制定2个参数,要删除的开始的位置和需要删除的个数 var arr=[1,3,4,6,6,7,65]; var scarr=arr.splice(0,3); console.log(arr);//删除后对原始的数组有影响 console.log(scarr); </script>
插入:可以向制定位置插入任意数量的项,只徐提供3个参数:开始的位置和要插入的项
<script type="text/javascript"> //splice()插入任意数量的项,只徐提供3个参数:开始的位置和要插入的项, var arr=[1,3,4,6,6,7,65]; arr.splice(2,2,"hhhh"); console.log(arr); </script>
替换:可以向制定位置插入任意数量的项,且同时删除任意数量的项,值需要制定三个参数,开始的位置,要删除的项,
清空数组:清空数组运用了里面删除的原理
<script type="text/javascript"> //splice()清空数组 var arr=[1,3,5,,45,6,34,646,3,345]; //方法一:从新定义空数组 // arr=[]; // console.log(arr); //splice()清空数组运用了里面删除的原理 arr.splice(0);//从第一位开始删除到最后一位 console.log(arr); </script>
forEach():对数组进行遍历循环,对数组中的每一项运行给定函数
格式:arr.forEach(function(value,index){})
<script type="text/javascript"> //对数组进行遍历循环,对数组中的每一项运行给定函数 var arr=[1,3,5,8,45,6,34,646,3,345]; arr.forEach(function(value,index){ console.log(index+":"+value); }) </script>
map()"映射"对数组中的每一项运动给定函数,返回每次函数调用的结果组成的数组
<script type="text/javascript"> //"映射"对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组 //根据某种运算规律输出一个新的数字 var arr=[1,3,5,8,4,6,3,6,3]; var arr1=arr.map(function(value,index){ return value*value;//数字平方 }); console.log(arr1); </script>
filter():"过滤"功能,数组中的每一项运行给指定函数,返回满足过滤条件的组成新数组
<script type="text/javascript"> //"过滤"功能,数组中的每一项运行给指定函数,返回满足过滤条件的组成新数组 var arr=[1,2,3,4,5,6,7,8,9,10,11,12,13]; var arr1=arr.filter(function(value,index){ return index %3===0||value>=9; }); console.log(arr1); </script>
every()判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true
<script type="text/javascript"> //every()判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true var arr=[1,2,3,4,5,6,7,8,9,10,11,12,13]; var res = arr.every(function (value,index){ return value<20 }); console.log(res);//返回true </script>
some()判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true
<script type="text/javascript"> //some()判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true var arr=[1,2,3,4,5,6,7,8,9,10,11,12,13]; var res=arr.some(function (value,index){ return value<10; }); console.log(res);//返回true </script>