当前位置: 首页 > news >正文

js网站源码/免费的自媒体一键发布平台

js网站源码,免费的自媒体一键发布平台,wordpress文章视频,中国建筑网站平台有哪些一.判断一个值是对象还是数组 1. 通过es6的一个方法Array.isArray()判断 Array.isArray( ) 用于确定传递的值是否是一个数组,返回一个布尔值。 let a [1,2,3] Array.isArray(a); //true Array.isArray({}/null/function); //false 这个方法只能判断出变量是否为…

一.判断一个值是对象还是数组

1. 通过es6的一个方法Array.isArray()判断

Array.isArray(  ) 用于确定传递的值是否是一个数组,返回一个布尔值。

let a = [1,2,3]

Array.isArray(a); //true
Array.isArray({}/null/function); //false

这个方法只能判断出变量是否为数组,并不能确定是否为对象

2. 通过 instanceof 运算符判断

instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值。

let a = [];

a instanceof Array; //true
a instanceof Object; //true

let b = {};

b instanceof Array; //false
b instanceof Object; //true

通过上面代码可以发现,数组不仅是Array类型的实例,也是Object类型的实例。因此我们在判断一个变量是数组还是对象时,应该先判断数组类型,然后再去判断对象类型

⚠️不用typeof判断的原因:

  null、对象、数组返回的都是object类型(引用类型);对于函数类型返回的则是function。

3. 通过 constructor 属性判断

 判断一个变量是否是数组或者对象,从另一个层面讲,就是判断变量的构造函数是Array类型还是Object类型。因为一个对象的实例都是通过构造函数生成的,所以,我们可以直接判断一个变量的constructor属性。

let a = [];

a.constructor === Array; //true

a.constructor === Object; //false

let b = {};

b.constructor === Array; //false

b.constructor === Object; //true

每个变量都会有一个__proto__属性,表示的是隐式原型(原型链的知识)。一个对象的隐式原型指向的是构造该对象的构造函数的原型,因此,每一个变量都有constructor属性

二. 对象或数组判空

1. a.length === 0 判断数组是否为空

2.JSON.stringfy(b) === ' { } '  判断对象是否为空

三. 对象或数组中是否包含某个值

1.判断数组中存在某个值

1)for循环

for (let i = 0; i < array.length; i++) { if (array[i] == 3) { return true } }

2) includes

array.includes(3)  //输出true表示存在

3)indexOf

array.indexOf(3)  // 输出这个数的下标 ,不为-1则表示存在

4)filter

array.filter(c=>c==3).length>0 // 输出true 存在   filter返回的是一个数组

5)find

array.find(c=>c===3}) // 输出3   find返回的是找到的第一个元素

6)some

array.some(c=>c===3) // 输出true  some找到第一个元素则返回布尔值,且不在继续检测

7)Set中has

new Set(array).has(3)  // 输出true

2. 判断对象中存在某个值

1) 使用“!==”进行判断(属性的值为undefined的时候无法区分)

let  obj = {name:"zhang" , age:undefined,};

obj.name !== undefined;  // true 有这个属性
obj.sex !== undefined; // fasle  无 sex 这个属性

obj.age !== undefined;   // fasle  但有这个属性

2)  in 运算符,in 的语法是: attr in obj ,表达式返回一个布尔值。(in可以区分存在但值为undefined的属性

'name' in obj; // true 有这个属性
'sex'   in obj;// fasle  无 sex 这个属性

'age '  in obj ; // true

3)  对象的 hasOwnProperty() 方法也可以检测指定属性名是否在对象内,返回布尔值。( 只能检测对象的私有属性,继承属性检测不出来)

obj.hasOwnProperty(‘name’); // true  有这个属性
obj.hasOwnProperty(‘sex’);// fasle  无 sex 这个属性

http://www.lbrq.cn/news/827785.html

相关文章:

  • 做试题的网站/山西seo
  • 凡科做的网站提示证书错误/信息发布网站有哪些
  • 网站建设推广费用/枸橼酸西地那非片是什么
  • 网站建设付款页面/自己怎么创建网站
  • 移动门网站建设/哪个推广网站好
  • 长沙公司制作网站费用/怎么优化关键词
  • 网站建设尺寸像素是多少/日本进口yamawa
  • 做网站能赚钱/网站推广网络营销
  • 威海专业做网站设计的公司/全国疫情实时动态
  • 广告投放媒体/公司seo
  • 微信网站建设费用计入什么科目/app推广拉新一手渠道
  • 国外网站怎么做/企业内训课程
  • 湖北黄石域名注册网站建设/网络营销网
  • 互诺科技做网站怎么样/怎么推广产品最有效
  • 有没有适合宝妈找工作做兼职的网站/成都网络推广外包公司哪家好
  • 梵克雅宝官网中国官方网站/百度直接打开
  • 中牟建设委员会网站/网站建设网络推广平台
  • 网站建设哪几家好一些/现在有什么推广平台
  • 住房和城乡建设部网站资质查询/磁力吧ciliba
  • mysol做的选课网站/免费网页制作网站
  • javaweb做音乐网站/网站交易
  • 网站设计维护员/lol今日赛事直播
  • 网站建设 上海网站建/百度竞价在哪里开户
  • 深圳网站建设怎么选择/怎么样推广自己的公司
  • 济宁做网站的公司/如何做好推广
  • 网站建设技术服务合同/免费软文推广平台
  • 广告公司推广渠道/seo外包服务
  • 网站建设好学吗/新东方在线koolearn
  • 装饰公司手机网站/关键词排名方法
  • 电商网站建设需求/网络优化工具
  • Python dataclass 高阶用法与技巧
  • C/C++数据结构之单向链表
  • FPGA自学——整体设计思路
  • 学习C++、QT---29(QT库中QT事件的介绍和用了几个案例来对事件怎么使用的讲解)
  • 《Origin画百图》之多分类矩阵散点图
  • LVS的简介以及架构