sirdaiz Asked: 2020-09-17 01:53:31 +0800 CST 2020-09-17 01:53:31 +0800 CST 2020-09-17 01:53:31 +0800 CST 如何检查空对象?- JavaScript 772 我有以下代码: var obj = {}; if (obj != null) { //execute } 问题是obj它不为空。 我如何知道一个对象是否为空以便它进入一个条件? javascript 4 Answers Voted Best Answer Black Sheep 2020-09-17T02:25:06+08:002020-09-17T02:25:06+08:00 与ES5:Object.keys() let obj = {}; console.log( Object.keys(obj).length === 0 ) 与jQuery:jQuery.isEmptyObject() let obj = {}; console.log( $.isEmptyObject(obj) ); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> userStack 2020-09-17T03:39:04+08:002020-09-17T03:39:04+08:00 @aldanux 的答案是正确的,但一种选择是将其设为字符串JSON.stringify(obj) var obj = {}; if (JSON.stringify(obj)=='{}') { //execute console.log('vacio'); } 我们也可以使用Object.entries(obj). var obj = {}; if (Object.entries(obj).length === 0) { //execute console.log('vacio'); } juanitourquiza 2020-06-26T07:24:51+08:002020-06-26T07:24:51+08:00 我建议使用 Lodash。 https://lodash.com/docs/4.17.15#isEmpty _.isEmpty(null); // => true _.isEmpty(true); // => true _.isEmpty(1); // => true _.isEmpty([1, 2, 3]); // => false _.isEmpty({ 'a': 1 }); // => false Marcos 2022-05-27T12:43:51+08:002022-05-27T12:43:51+08:00 使用obj.hasOwnProperty() function objetoVacio(obj) { for (var prop in obj) { if (obj.hasOwnProperty(prop)) return false; } return true; } console.log(objetoVacio({})); console.log(objetoVacio({hola: 'mundo'})); 使用Object.getOwnPropertyNames() function objetoVacio(obj) { return Object.getOwnPropertyNames(obj).length === 0; } console.log(objetoVacio({})); console.log(objetoVacio({hola: 'mundo'}));
与
ES5
:Object.keys()
与
jQuery
:jQuery.isEmptyObject()
@aldanux 的答案是正确的,但一种选择是将其设为字符串
JSON.stringify(obj)
我们也可以使用
Object.entries(obj).
我建议使用 Lodash。 https://lodash.com/docs/4.17.15#isEmpty