Js使用多语言字符搜索对象

时间:2015-01-16 10:29:29

标签: javascript object search character-encoding multilingual

我想在对象中使用js搜索,但有一些功能。我明确地回答了这个问题。

JS search in object values

[
  {
    "foo" : "bar",
    "bar" : "sit"
  },
  {
    "foo" : "lorem",
    "bar" : "ipsum"
  },
  {
    "foo" : "dolor",
    "bar" : "amet"
  }
]

这很好,但我想搜索sıtsit,结果将在下方。

[
  {
    "foo" : "bar",
    "bar" : "sit"
  }
]

我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果使用search()方法而不是indexOf(),则可以使用正则表达式执行此操作:

var objects = [{
    "foo": "bar",
        "bar": "sit"
}, {
    "foo": "lorem",
        "bar": "ipsum"
}, {
    "foo": "dolor",
        "bar": "amet"
}];

var results = [];

var toSearch = /s(i|ı)t/;

for (var i = 0; i < objects.length; i++) {
    for (var key in objects[i]) {
        if (objects[i][key].search(toSearch) != -1) {
            results.push(objects[i]);
        }
    }
}

结果是包含要匹配的字符串的所有对象。这是否与你正在寻找的一致?