判断数组为空、含有某值,判断数据类型,判断空对象

👉js中判断空数组和空对象的方法_js 空数组_EntheosLee的博客-CSDN博客 

👉JavaScript判断数组是否为空、 判断数据类型_javascript判断数组为空_webhyx的博客-CSDN博客 

 👉如何判断js数组是否为空_js判断数组为空_CodeChanningAz的博客-CSDN博客 

目录

一、js判断数组是否为空

  方法一:  arr.length

方式二:arr == true不为空

二、js判断数组是否含有某个值

  方法一:  arr.indexOf()

  方法二:  for循环结合if判断

  方法三: arr.find(callback)   

   方法四: arr.includes() ES6新方法。

 三、判断数据类型:toString 最完美的方法

四、判断空对象

1. JSON.stringify()

2. 判断数组的长度/对象key的长度

空数组 :Array.isArray()+length()

空对象:Object.prototype.isPrototypeOf() + keys().length


一、js判断数组是否为空

  方法一:  arr.length

let arr = [];
if (arr.length == 0){
   console.log("数组为空")
}else {
   console.log("数组不为空")
}

方式二:arr == true不为空

let arr1 = [];
if(arr1 == true){
    console.log("arr1不为空");
}else{
    console.log("arr1为空");
}

//arr1为空

二、js判断数组是否含有某个值

  方法一:  arr.indexOf()

if (arr.indexOf(2) != -1){
   console.log("数组含有2")
}else {
   console.log("数组不含2")
}

  方法二:  for循环结合if判断

for (let i = 0;i < arr.length;i++){
   if (arr[i] === 2){
      console.log("数组含有2")
  }
}

  方法三: arr.find(callback)   

arr.find(value => {
   if (value === 2){
      console.log("数组含有2")
  }
})

   方法四: arr.includes() ES6新方法。

         数组中含有某值返回true,没有返回false。

let arr = [1,2,3,4];
if(arr.includes(2)){
  console.log("数组中有2");
}else{
  console.log("数组中无2");
}

 三、判断数据类型:toString 最完美的方法

        toString() 是 Object 的原型方法,调用该方法,默认返回当前对象的 [[Class]] 。这是一个内部属性,其格式为 [object Xxx] ,其中 Xxx 就是对象的类型。

        对于 Object 对象,直接调用 toString() 就能返回 [object Object] 。而对于其他对象,则需要通过 call / apply 来调用才能返回正确的类型信息。

Object.prototype.toString.call(’’) ; // [object String]
Object.prototype.toString.call(1) ; // [object Number]
Object.prototype.toString.call(true) ; // [object Boolean]
Object.prototype.toString.call(Symbol()); //[object Symbol]
Object.prototype.toString.call(undefined) ; // [object Undefined]
Object.prototype.toString.call(null) ; // [object Null]
Object.prototype.toString.call(new Function()) ; // [object Function]
Object.prototype.toString.call(new Date()) ; // [object Date]
Object.prototype.toString.call([]) ; // [object Array]
Object.prototype.toString.call(new RegExp()) ; // [object RegExp]
Object.prototype.toString.call(new Error()) ; // [object Error]
Object.prototype.toString.call(document) ; // [object HTMLDocument]
Object.prototype.toString.call(window) ; //[object global] window 是全局对象 global 的引用

四、判断空对象

1. JSON.stringify()

通过判断空数组和空对象的json.stringify返回值与"[]“、”{}"是否相等判断。

 	  const emptyArr = [];
      const emptyObj = {};
      console.log(JSON.stringify(emptyArr) === "[]"); //true
      console.log(JSON.stringify(emptyObj) === "{}"); //true

注:toString()和String方法对空数组和空对象的转换结果和JSON.stringify不一样:

(toString和String方法的结果一致)

	  console.log(emptyArr.toString()); // [object object]
      console.log(emptyObj.toString()); // [object object]

2. 判断数组的长度/对象key的长度

空数组 :Array.isArray()+length()

        使用isPrototypeOf()方法和数组的length()方法判断一个值 :1.是数组;2.为空。
        isPrototype()的用法:objA.isPrototypeOf(objB) ,
        即判断对象A(objA)是否为对象B(objB)的原型链上的原型对象,如:若要判断一个变量a是否为数组,可以使用
        Array.prototype.isPrototypeOf(a)来判断,值为true\false(也可以用Array.isArray()判断是否为数组)
        接下来可以进行空数组验证:

	  const emptyArr = [];
        console.log(Array.isArray(emptyArr) && emptyArr.length === 0); //验证为数组且为空

空对象:Object.prototype.isPrototypeOf() + keys().length

        同样需要判断:1.是对象;2.为空

        对象没有length属性,但是可以通过keys()方法获得对象内key的数组,所以

const emptyObj = {};
console.log(Object.prototype.isPrototypeOf(emptyObj) && emptyObj.keys(obj).length === 0);//验证为对象且为空
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
判断数组对象中某一项的值是否为空,可以使用以下方法: 1. 使用数组的length属性: 首先获取到要判断数组对象,然后通过访问该数组对象的某一项属性,判断其值的length属性是否为0。如果为0,则说明该项值为空;如果不为0,则说明该项值不为空。例如,对于数组arr和其中的某一项属性item,可以使用以下代码进行判断: ```javascript if (arr[item].length == 0) { console.log("该项值为空"); } else { console.log("该项值不为空"); } ``` 2. 使用Object.getOwnPropertyNames()方法: 这个方法可以获取到对象中的属性名,并将其存入一个数组中。然后通过判断数组的length属性是否为0来判断对象的某一项值是否为空。例如,对于对象data和其中的某一项属性prop,可以使用以下代码进行判断: ```javascript var arr = Object.getOwnPropertyNames(data[prop]); if (arr.length == 0) { console.log("该项值为空"); } else { console.log("该项值不为空"); } ``` 3. 使用循环和some()方法: 首先使用循环遍历数组对象,将其中的某一项值添加到一个数组中。然后使用some()方法检测该数组中的元素是否满足指定条件,即检测该项值是否为空。例如,对于数组对象arr和其中的某一项属性item,可以使用以下代码进行判断: ```javascript var tempArr = []; for (var i = 0; i < arr.length; i++) { tempArr.push(arr[i][item]); } if (tempArr.some(function(value) { return value === null || value === undefined || value === ""; })) { console.log("该项值为空"); } else { console.log("该项值不为空"); } ``` 以上是三种常用的方法来判断数组对象中某一项值是否为空,具体使用哪一种取决于你的具体需求和代码结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [js判断数组对象是否为空,是否含有某个值,判断数组对象是否有某个值](https://blog.csdn.net/flhhly/article/details/120708497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [js判断数组对象中某个属性的值是否为空,数字转成相对应的文字并显示](https://blog.csdn.net/weixin_41997724/article/details/121769686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值