【问题标题】:How can I check if a value is inside a object list? [duplicate]如何检查值是否在对象列表中? [复制]
【发布时间】:2012-12-24 01:49:10
【问题描述】:

可能重复:
How to find a value in a multidimensional object/array in Javascript?

我将这些 JavaScript 对象放在一个数组中:

[{"id": 3}, {"id": 32}, {"id": 33}, {"id": 34}]

如何执行这样的 IF 语句:

list = [3,32,33,34]
if x in list:
    "in the list!"
else:
    "not in the list"

如何使用 jQuery/Javascript 做到这一点?

有什么线索吗?


编辑:

这是一个 JSON 输出:

[{"id": 3}, {"id": 32}, {"id": 33}, {"id": 34}]

【问题讨论】:

  • 你到底想做什么?正在搜索号码?
  • 您说您有对象,但在示例中,“列表”包含数字,而不是对象。是哪个?
  • @JanDvorak 不。这是错误的,不会起作用。
  • 他显然来自 Python 背景。不要投票或投票结束,这是一个合理的问题。不,indexOf 适用于数组,但不适用于搜索包含对象的数组。
  • @Abody97 我不知道 OP 在问什么,因为问题太不清楚了。

标签: javascript jquery


【解决方案1】:

注意:没有诸如 JSON 对象之类的东西。这些是 JavaScript 对象。 JSON 是 JavaScript 的子集。

如果对象的布局是你举例说明的方式:

function hasVal(obj, val) {
    for(var i = 0, len = obj.length; i < len; i ++) {
        for(var key in obj[i]) {
             if(obj[i][key] == val) return true;
        }
    }
    return false;
}

然后这样称呼它:

var obj = [{"id": 3}, {"id": 32}, {"id": 33}, {"id": 34}];
hasVal(obj, 32); //returns true
hasVal(obj, 10); //returns false

【讨论】:

  • 感谢您的回答!效果很好。
猜你喜欢
  • 2018-12-23
  • 2016-04-02
  • 2018-03-08
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多