1

いくつかの値を持つ配列があります。jQueryを使用してその配列を検索して、一致するかそれに近い値を見つけるにはどうすればよいですか?

var a = ["foo","fool","cool","god","acl"];

を検索したい場合cは返されますが、返さcoolれませんacl

どうすればそれを達成できますか?

4

5 に答える 5

2

これを試して:-

arr = jQuery.grep(a, function (value) {
    search = /c/gi;
    if(value.match(search)) return true;
        return false;
    });

また

function find(arr) {
    var result = [];

    for (var i in arr) {
        if (arr[i].match(/c/)) {
            result.push(arr[i]);
        }
    }

    return result;
}

window.onload = function() {
    console.log(find(["foo","fool","cool","god","acl"]));
};
于 2013-08-28T13:30:12.627 に答える
1

substring配列内の各文字列が検索対象の文字列で始まるかどうかを確認するために使用します。

var strings = [ "foo", "cool", "acl" ];
var needle = "c";

for (var i = 0; i < strings.length; ++i) {
    if (strings[i].substring(0, needle.length) === needle) {
        alert("found: " + strings[i]);
    }
}
于 2013-08-28T13:32:17.763 に答える
1

これを行う簡単な方法は、「c​​」で始まる単語をチェックし、配列を反復することです。

var ar = ['acl','cool','cat']
for(var i = 0 ; i<ar.length ; i++){
   console.log(ar[i].match(/^c/))
}
//Prints:
//null
//["c", index: 0, input: "cool"]
//["c", index: 0, input: "cat"]
于 2013-08-28T13:33:10.067 に答える
1

JavaScript 1.6以降で利用可能なフィルターメソッドを使用できます。フィルタリングされた値を含む配列が返されます。複数のアイテムを合わせたい場合に非常に便利です。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

var a = ["foo","fool","cool","god","acl"];
var startsWith = 'c';

a.filter(function (value) {
    return value && value.length > 0 && value[0] == startsWith;
});

// yields: ["cool"]
于 2013-08-28T13:33:49.563 に答える
0
var a = ["foo","fool","cool","god","acl"];
var Character="f";
for(i=0;i<a.length;i++){
    if(a[i].indexOf(Character)!=-1){

        document.write(a[i]+"<br/>");
    }
 }
于 2013-08-28T15:06:53.660 に答える