js的数据类型判断以及map,reduce与filter高级函数方法

1.isFinite()函数

isFinite() 函数用于检查其参数是否是无穷大。(如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。)

document.write(isFinite(123)+ "<br>");   //true
document.write(isFinite(-1.23)+ "<br>");    // true
document.write(isFinite(5-2)+ "<br>");      // true
document.write(isFinite(0)+ "<br>");        // true
document.write(isFinite("Hello")+ "<br>");  // false
document.write(isFinite("2005/12/12")+ "<br>"); // false

2.Math(算术对象)

Math对象,提供科学数学计算,也同样具有属性与方法,案例如下:

<script>
    let mypi = Math.PI;
    let myabs = Math.abs(-15.88963);
    console.log(mypi);
    console.log(myabs);    
    document.getElementById("kajima").innerHTML=mypi;
    document.getElementById("bady").innerHTML=myabs;
</script>

Math对象属性

Math对象属性

Math 对象方法

在这里插入图片描述

3.数据类型判断

PS:typeof无法判断数组,null和对象,因为他会把这些都判断为Object,其余都可以正常判断。
最完美的检测数组类型的方法:

function isArrayFn (o) {
return Object.prototype.toString.call(o) === '[object Array]';
}
var arr = [1,2,3,1];
alert(isArrayFn(arr));// true

其实这个函数可以改进一下,使得同样能够判断其它数据类型:数组,null,function,String,object等等

function isArrayFn (o) {
return Object.prototype.toString.call(o);
}
实例测试结果
[1,2,3,1][object Array]
{a:“chenhaodong”,age:18}[object Object]
function a(){return null}[object Function]
“hello world”[object String]
null[object Null]

4.arguments参数属性

arguments.length 属性返回函数调用过程接收到的参数个数
arguments[0]:获取传入的第一个参数值
arguments[1]:获取传入的第二个参数值

5.map,reduce与filter方法

map(),reduce()与filter()方法的参数均为匿名函数,即不存在函数名的函数

PS:JavaScript这里的map与reduce方法与之前提到的Python的map与reduce方法 实现效果相同。

  • map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
'use strict';   //严格模式
let arr = [1, 2, 3, 4];
let newArr = arr.map(function(item) {  // 使用map方法将每一个元素变为两倍
    return item * 2;
});
console.log(newArr);    // [2, 4, 6, 8]
  • filter()函数用于筛选出符合要求的数据,并返回该数据集合.
let arr = [1, 2, 3, 4];
let newArr = arr.filter(function(item) {  // 使用filter方法:判断每一个元素,如果是奇数,则直接返回该值
    if (item % 2 !== 0) {
     return item;}
 });
 console.log(newArr);    // [1, 3];
  • reduce()函数用于把数组或对象归结为一个值,并返回这个值,使用方法为arr.reduce(func,memo),其中func为处理函数,memo为初始值,初始值可缺省.
'use strict';
let arr = [1,2,3,4];
let newArr=arr.reduce(function(a,b){
		return a+b;
		},0); 
console.log(newArr)  ;  // 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值