typeof类型判断,二维数组中是否存在值判断

这里封装两个函数

一个是 typeof类型判断
typeof对于 null、new Boolean、new Array 这些通通返回 “object”
下面来封装一个精确类型判断
这里会用到 Object.prototype.toString 方法

function type(target){
	// 首先定义一个对象,里面包含精确类型判断
	var temp = {
		"[object Object]": "object",
		"[object Array]": "object - array",
		"[object Number]": "object - number",
		"[object  String]": "object - string",
		"[object Boolean]": "object - boolean"
	}
	// 首先处理一下 null ,因为以前 null 代表空对象 所有 null 会返回 “object”
	if(target === null){
		return "null";
	}
	// 接下来处理那些返回 "object"
	if(typeof(target) == "object){
		var objStr = Object.prototype.toString.call(target);
		return temp[objStr};
		// 把 objStr 作为键 ,去之前定义好的temp里找到值, 并返回
	}else{
		// 其他正常的直接返回
		return typeof(target);
	}
}

第二个封装的是 判断二维数组中是否有 该值

	function arrIn(target, array){
		var result = false;
		// 这里我也用到了 Object.prototype.toString 方法  所有先写一下值
		var arr = "[object Array]";
		var objStr = Object.prototype.toString;
		// 查看数组中的每一位
		for(var i = 0, arrLen = array.length; i < arrLen; i++){
			// 如果数组中有该数 就返回true
			if(array[i] === target){
				return result = true;
			}else if(objStr.call(array[i]) == arr){
				// 如果一维数组中没有该值 那么就判断是否有 二维数组 
				for(var j = 0, arrILen = array[i].length; j < arrILen; j++){
					if(array[i][j] == target){
						return result = true;
					}
				}
			}
		}
		// 如果都没 返回false
		return result;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值