jquery - 数组与多维数组的比较

标签 jquery arrays multidimensional-array array-difference

我有 2 个数组:

labels = ["water", "sever", "electricity"];
services = [0:[0:"1",1:"sever"], 1:[0:"3",1:"park"], 3:[0:"4",1:"gas"]];

我想检查 labels 中是否有任何值在 services或否(对或错)。

使用 jquery 归档此内容的最佳方法是什么?

编辑1:

是的,我在提问时犯了一个错误,services是一个 JSON 对象。

更新

Bregi 的第二个解决方案正是我所需要的。 .some正在实现目的。

var isInAny = labels.some(function(label) {
  return services.some(function(s) {
    return s[1] == label;
  });
});

最佳答案

使用some Array method (尽管您可能需要为遗留环境填充它):

var isInAny = labels.some(function(label) {
    // since we don't know whether your services object is an actual array
    // (your syntax is invalid) we need to choose iteration/enumeration
    if (typeof services.length == "number") {
        for (var i=0; i<services.length; i++)
            if (services[i][1] == label)
                return true;
    } else {
        for (var p in services)
            if (services[p][1] == label)
                return true;
    }
    return false;
});

如果services确实是一个数组,你也可以使用

var isInAny = labels.some(function(label) {
    return services.some(function(s) {
        return s[1] == label;
    });
});

关于jquery - 数组与多维数组的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904063/

相关文章:

c++ - 将一个 constexpr 数组初始化为其他两个 constexpr 数组的总和

PHP 在多维数组中查找值并获取对应的元素值

javascript - 如何在搜索栏中附加href以选择下拉列表中的选项?

javascript - 改变一个元素的样式而不改变另一个?

c++ - 读取未正确存储在数组中的字节

c# - 声明二维数组的问题

c - 不将二维数组的行数传递给 c 中的函数

javascript - 调用时重置 jquery .click 函数

javascript - 如何正确地将html表单数据编译为JSON对象

php - PHP 关联数组中的项目不能以数字方式访问(即通过索引)吗?