首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查此对象的长度?

如何检查此对象的长度?
EN

Stack Overflow用户
提问于 2012-07-13 07:06:35
回答 3查看 85关注 0票数 0

我使用的是经过大量修改的jquery-tokeninput版本

它本质上是一个文本输入框,允许多个标记,就像堆栈溢出一样。

您可以通过运行以下命令来获取当前输入中所有标签的返回值:

$("#no-custom-tokens").tokenInput("get")

问题是,它会为我返回以下内容:

如果我尝试调用$("#no-custom-tokens").tokenInput("get").length,它只会显示未定义。

我需要检查这个对象中是否有任何u1、u2等(基本上..是输入空白)。

我考虑过做……

if ($("#no-custom-tokens").tokenInput("get").u1.name != "")

除了如果您删除令牌,然后再添加2个,它不会从u1,u2开始...它从u3和u4开始。

:/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-13 07:10:57

“我需要检查这个对象中是否有u1、u2等(基本上..是输入空格)。”

如果您基本上需要检查至少一个属性是否存在,并且如果这些属性是可枚举的,您可以这样做...

代码语言:javascript
复制
var has_props = false,
    obj = $("#no-custom-tokens").tokenInput("get");

for (var p in obj) {
    has_props = true;
    break;
}

console.log(has_props);

如果你想知道有多少,而且如果它们是可枚举的,你可以使用Object.keys...

代码语言:javascript
复制
var props_len = Object.keys($("#no-custom-tokens").tokenInput("get")).length;

如果你支持更老的浏览器,你只需要填补它...

代码语言:javascript
复制
if (!Object.keys)
    Object.keys = function(o) {
        var keys = [];
        for (var k in o)
            if (o.hasOwnProperty(k))
                keys.push(k);

        return keys;
    };
票数 1
EN

Stack Overflow用户

发布于 2012-07-13 07:11:23

它看起来是作为对象返回的,而不是数组,所以没有.length方法。如果您只是想检查对象中是否有任何内容,可以尝试遍历对象并在找到任何内容时设置一个标志。所以:

代码语言:javascript
复制
var isEmpty = true;
var tokens = $("#no-custom-tokens").tokenInput("get");
for (var i in tokens) {
    isEmpty = false;
    break;
}
if (isEmpty) {
    ...
}
票数 1
EN

Stack Overflow用户

发布于 2012-07-13 07:17:50

检查是否为空:

代码语言:javascript
复制
function isEmpty(obj) {
    for (var i in obj) {
        if (obj.hasOwnProperty(i)) return false;
    }
    return true;
}

检查其长度:

代码语言:javascript
复制
function objectLength(obj) {
    var size = 0;
    for (var i in obj) {
        if (obj.hasOwnProperty(i)) ++size;
    }
    return size;
}

// or:

function objectLength(obj) {
    return Object.keys(obj).length;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11462009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档