js 判断对象的某个属性是否存在

 JavaScript  2022-03-27  admin  1353  1826

js 判断对象的某个属性是否存在

// js 判断对象的某个属性是否存在,必须逐层判断,不能跨层
var list = {
	"class_one": [{
		"name": "小明",
		"age": 18
	}, {
		"name": "",
		"age": 18
	}]
}

if (!list.hasOwnProperty("class_two")) {
	console.log("不存在class_two属性");
}
if (!list["class_two"]) {
	console.log("不存在class_two属性");
}

// 错误写法 list["class_two"]不存在,需要先判断list["class_two"]是否存在 Uncaught TypeError: Cannot read properties of undefined (reading 'sex')
// if(list["class_two"]["sex"]){
// 	console.log(list["class_two"]);
// }else{
// 	console.log("不存在");
// }

// list["class_one"] 已存在
if (list["class_one"]["sex"]) {
	console.log(list["class_two"]);
} else {
	console.log("不存在"); //不存在
}

if (list.hasOwnProperty("class_one") && list["class_one"].hasOwnProperty(2) && list["class_one"][2].hasOwnProperty("name")) {
	console.log(list["class_one"][2]["name"]);
} else {
	console.log("class_one不存在第3个对象的name属性"); //class_one不存在第3个对象的name属性
}

// 错误写法 Uncaught TypeError: Cannot read properties of undefined (reading 'hasOwnProperty')
// if (list["class_one"][2].hasOwnProperty("name")) {
// 	console.log(list["class_one"][2]["name"]);
// } else {
// 	console.log("class_one不存在第3个对象的name属性"); //class_one不存在第3个对象的name属性
// }

if (list["class_one"] && list["class_one"][2] && list["class_one"][2]["name"]) {
	console.log(list["class_one"][2]["name"]);
} else {
	console.log("class_one不存在第3个对象的name属性"); //class_one不存在第3个对象的name属性
}

// 错误写法 list["class_one"][2] Uncaught TypeError: Cannot read properties of undefined (reading 'name')
// if (list["class_one"][2]["name"]) {
// 	console.log(list["class_one"][2]["name"]);
// } else {
// 	console.log("class_one不存在第3个对象的name属性"); //class_one不存在第3个对象的name属性
// }

if (list["class_two"] && list["class_two"][2] && list["class_two"][2]["name"]) {
	console.log(list["class_two"][2]["name"]);
} else {
	console.log("class_two不存在第3个对象的name属性"); //class_two不存在第3个对象的name属性
}

如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

js 判断对象的某个属性是否存在 —— centhp.com

相关推荐


Elasticsearch 简单的搜索设置优化,分词搜索和关键词搜索同时检索

Elasticsearch 简单的搜索设置优化,分词搜索和关键词搜索同时检索

Ghostscript pdf转图片的常用方法

Ghostscript是PostScript®语言和PDF文件的解释器。它可以根据GNU GPL Affero许可证获得,也可以从Artifex Software,Inc.获得商业使用许可。它已经积极开发了30多年,在此期间已经移植到多个不同的系统。Ghostscript由PostScript解释器层和图形库组成。https://www.ghostscript.com/ gswin64c.exe

js 判断数组的值是否完全一致

/** *判断数组的值是否完全一致 *@paramarr *@returns{boolean} *@authorcentphp.com */ functionisAllEqual(arr){ if(arr.length>0){ return!arr.some(function(value,index){ returnvalue!==arr[0]; }); }else{

js 数组对象根据指定字段排序

js 数组对象根据指定字段排序