我有 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/