相关疑难解决方法(0)

Javascript trivia:检查空对象的相等性

可能是这个问题的重复.

愚蠢的javascript问题:我想检查对象是否是emtpy对象.

我将空对象称为使用空对象文字产生的对象,如下所示:

 var o = {};
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,既不是=====不起作用,如以下两个陈述

 alert({}=={});
 alert({}==={});
Run Code Online (Sandbox Code Playgroud)

假的.

评估空对象的表达式示例:

  • 0
  • ""
  • {a:"b"}
  • []
  • new function(){}

那么评估空物体的最短方法是什么?

html javascript jquery

11
推荐指数
2
解决办法
7396
查看次数

如何检查对象是否为空?

我正在学习 JavaScript。我无法理解一个空物体的概念。据我了解,有些情况下我需要检查一个变量是否包含一个对象并有一个值。

到目前为止,我知道一个变量可以是undefined

var car; // the value is undefined, as well as the type (which is it? number, array, etc.)
Run Code Online (Sandbox Code Playgroud)

我也知道,所有有价值的东西都是真实的

var car = "Opel";
Boolean(car); // true 
Run Code Online (Sandbox Code Playgroud)

任何没有价值的东西都是假的:

var car = ""; // typeof string, but it is empty, so
Boolean(car); // false
Boolean(null); // false 
Run Code Online (Sandbox Code Playgroud)

那么为什么它与数组和对象的工作方式不同呢?为什么这一切都是真的?空数组和对象不应该返回false吗?

var car = {make: "Opel", year: 2015};
Boolean(car); // true
car = {};
Boolean(car); // true
car = ["BMW", "Opel"]; 
Boolean(car); // true …
Run Code Online (Sandbox Code Playgroud)

javascript null object undefined

8
推荐指数
3
解决办法
1947
查看次数

使用javascript检查对象内的对象是否为空

你好,我有一个对象:

var equippedItems = {
weapon: {},
armor: {},
accessory: {}
};
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来检查 allowedItems.weapon 是否''在某个时候等于我正在做的事情equippedItems.weapon = '';我不知道它是否与上面的对象完全相同。我已经尝试过使用,object.hasOwnPropertyequippedItems.weapon在这种情况下似乎无法使用,也许我做错了什么?另请注意,我确实阅读了如何检查对象是否已经为空,但它不适用于对象内的对象。

@编辑:

就像我说的,我已经读过那些,他们没有直接回答我的问题,他们确实回答了如何检查对象是否为空,但是对象就像object = {};我的一样 object = { object:{}, object2:{}, object3:{}};

这就是为什么它让我感到困惑。

javascript

6
推荐指数
1
解决办法
7174
查看次数

如何在对象数组中找到空对象的索引

如果我有一个像 [{a:'b'},{}] 这样的数组,并且我试图找到元素 {} 的索引。然后我无法获得正确的索引。

我已经尝试过 indexOf、findIndex 和 lodash 的 findIndex 但都返回 -1 而不是 1 可能是因为引用。

实际索引应该是 1 而不是 -1。

javascript arrays json object

6
推荐指数
1
解决办法
1194
查看次数

5
推荐指数
1
解决办法
3688
查看次数

空JS对象

有没有更好的方法来检查对象是否为空?我正在使用这个:

function isObjEmpty(obj)
{
    for (var p in obj) return false;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

javascript json

5
推荐指数
1
解决办法
443
查看次数

使用空对象作为条件if循环的参数

这与我一直试图做的类似,

var obj = {};
if(obj){
//do something
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是当对象为空时条件应该失败.

我尝试使用JSON.stringify(obj),但它仍然有花括号('{}').

javascript if-statement angularjs

5
推荐指数
2
解决办法
1068
查看次数

检查 Json 对象是否为空

我使用 Jquery 检查来自 ajax 调用的对象是否为空。

在这个例子中,我做了一个正确的 AJAX 调用,它返回了一些数据。

console.log ("obj before Json parse: ",response);
var test = $.isEmptyObject(response);
console.log("test if object is empty:",test);

obj before Json parse:  [{"dateTime":"2015-10-02","entries":220}]
est if object is empty: false
Run Code Online (Sandbox Code Playgroud)

然而,在这个例子中,我做了一个不返回任何内容的不正确的 AJAX 调用。

console.log ("obj before Json parse: ",response);
var test = $.isEmptyObject(response);
console.log("test if object is empty:",test);

obj before Json parse:  []
test if object is empty: false
Run Code Online (Sandbox Code Playgroud)

在这种情况下,由于对象为空,测试变量肯定应该为真吗?

javascript jquery object

3
推荐指数
1
解决办法
2万
查看次数

如何将if语句中的空对象处理为false?

我今天遇到了这个案子

if ({}) {
  // This is returned as empty object is true
}
Run Code Online (Sandbox Code Playgroud)

因此需要找出一种{}假的方法,试着调用.length我传递给if语句的对象,但这不起作用.

javascript

3
推荐指数
1
解决办法
1008
查看次数

检查JSON响应数据是否为空

在浏览器控制台中查看时,JSON响应为空时如下所示:

{"data":{},"status":200,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"http://url/form/BN217473","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"","xhrStatus":"complete"}
Run Code Online (Sandbox Code Playgroud)

在角度脚本中,我正在检查响应是否为空,但由于从未执行逻辑块,因此检查未捕获到空响应

if (response.data == '') {
    console.log("no data found");
}
Run Code Online (Sandbox Code Playgroud)

如何检查我的回复不为空?

javascript angularjs

2
推荐指数
1
解决办法
4675
查看次数

标签 统计

javascript ×10

object ×4

angularjs ×2

jquery ×2

json ×2

arrays ×1

html ×1

if-statement ×1

null ×1

undefined ×1