-1

私は次のようなjsonを持っています

[
{
    "text": "Acute Myelocytic Leukemia"
},
{
    "text": "Acute Myeloid Leukemia, Adult"
},

{
    "text": "Dengue Fever"
},
{
    "text": "Diphtheria"
},
{
    "text": "Familial Cold Autoinflammatory Syndrome"
},
{
    "text": "Familial Mediterranean Fever"
},

]

ここで、「a」または「b」.....「z」で始まるテキストのみを取得したいと思います。

結果のような (急性骨髄性白血病,急性骨髄性白血病, 成人)

javascriptまたはjqueryでこの結果を取得するにはどうすればよいですか。

私を助けてください。前もって感謝します。

4

6 に答える 6

1

プレーンなJavascriptで?次のようなことを試してください:

function iterate() {
    var data = [
        {"text": "Acute Myelocytic Leukemia"},
        {"text": "Acute Myeloid Leukemia, Adult"},
        {"text": "Dengue Fever"},
        {"text": "Diphtheria" }, 
        {"text": "Familial Cold Autoinflammatory Syndrome" },
        {"text": "Familial Mediterranean Fever" }
    ];

    for (var i = data.length - 1; i >= 0; i--) {
        if (data[i].text.indexOf('A') == 0) {
            // do whatever;
        }
    };
}

編集:他の回答を見てください-サイトにjqueryが埋め込まれている場合は、それらを聞いて$.grepを使用することをお勧めします。他の答えが私のものよりも優れているといつも気分が悪くなりますが、重要なことは、私たち全員が学び、より良くなることですよね? ;)

于 2014-05-22T15:14:30.567 に答える
0

substr で最初の文字だけをチェックしてから、regexp でテストしてみてはいかがでしょうか。

var matchedResults = [];
for (i = 0; i < json.length; i++) {
    var index = json[i].text;
    var reg = /^[A-Za-z]+$/;
    var first = index.substr(0, 1).toLowerCase();
    if (reg.test(first)) {
     matchedResults[i] = index;   
    }
}

フィドル: http://jsfiddle.net/X6u6k/1/

于 2014-05-22T15:19:47.800 に答える
0

文字(az、AZ)で始まるすべての要素を取得したいようです

オブジェクトを変数名「koko」に割り当てたとします。以下を試してください:

    for(var i=0;i < koko.length; i++) { 
        if (koko[i].text.match(/^[a-zA-Z]/)) 
            {
              console.log(koko[i].text);
           }
 }

match(/^[a-zA-Z]/) は正規表現を使用して、プロパティ テキストが文字で始まる要素のみを取得します。

于 2014-05-22T15:20:01.437 に答える
0

使用できます$.grep()

var matches = $.grep(data, function(item, idx) {
    return item.text.toLowerCase().indexOf('a') == 0;
});
于 2014-05-22T15:14:28.930 に答える
0

Jquery がオプションJsfiddleの場合:

$.grep([
{
"text": "Acute Myelocytic Leukemia"
},
{
"text": "Acute Myeloid Leukemia, Adult"
},

{
"text": "Dengue Fever"
},
{
"text": "Diphtheria"
},
{
"text": "Familial Cold Autoinflammatory Syndrome"
},
{
"text": "Familial Mediterranean Fever"
}

],function(item){return item.text[0] == 'A'});
于 2014-05-22T15:15:39.257 に答える