2015-10-05 74 views
0

有沒有一種方法來過濾我的關鍵值。我想篩選關鍵字是REF的關鍵字,而我的值是text1。獲取結果的關鍵是REF,我的值是text1。我想在返回結果時單獨訪問每個鍵值。像警報(SNO,價值);其中SNO是我的鑰匙,並且是從我的過濾結果的返回值篩選Ajax成功json的關鍵值

<script type="text/javascript"> 
     function ClientNodeClicking(sender, eventArgs) { 
      var node = eventArgs.get_node(); 
      var text1 = node.get_text(); 
      var text2 = node.get_value(); 

      $.ajax({ 
       type: "POST", 
       url: "A2_JVV.aspx/ds2json", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (msg) { 
        $("#Result").text(msg.d); 
        $.each(msg, function (key, value) { 
         console.log(key, value); 
        }); 
       } 

      }); 
      alert(text1); 

     } 

    </script> 

這是我在我的鉻控制檯

d [ 
    { 
    "REF": "JVV-001441", 
    "SNO": 1.0, 
    "mdate": "2015-08-15T00:00:00", 
    "date": "15/08/2015", 
    "INITIAL": "G", 
    "ACNO": "02010219", 
    "TITLE": "S S ENT. ON LINE A/C", 
    "JOB_ID": "00000", 
    "JOB": "0-N/A", 
    "cRR": 0.00, 
    "dRR": 500000.00, 
    "U_INSERT": "KHURRAM", 
    "I_DATE": "2015-08-15T14:09:19.997", 
    "U_EDIT": null, 
    "E_DATE": null, 
    "DISC": "RECEIVED ON LINE SLIP NO#5794 MEEZAN S S A/C (AMJAD ANJUM)" 
    }, 
    { 
    "REF": "JVV-001441", 
    "SNO": 2.0, 
    "mdate": "2015-08-15T00:00:00", 
    "date": "15/08/2015", 
    "INITIAL": "C", 
    "ACNO": "020101039", 
    "TITLE": "AMJAD ANJUM", 
    "JOB_ID": "00000", 
    "JOB": "0-N/A", 
    "cRR": 500000.00, 
    "dRR": 0.00, 
    "U_INSERT": "KHURRAM", 
    "I_DATE": "2015-08-15T14:09:20.01", 
    "U_EDIT": null, 
    "E_DATE": null, 
    "DISC": "RECEIVED ON LINE SLIP NO#5794 MEEZAN S S A/C" 
    } 
] 

回答

1

得到,如果你想過濾任何陣列可以使用核心每個陣列的.filter()方法。

它通過遍歷每個元素來構建一個新的數組。它會調用提供的回調函數,將數組中的元素傳遞給它,如果回調函數返回true,則該元素將被放入新數組中,否則將被忽略。

所以像這樣的東西會過濾掉你的數組中的所有元素,其中屬性REF不等於text1;

var x = d.filter(function (item) { 
    return item.REF === 'text1'; 
}); 

你最後的要求聽起來像你想迭代每個對象的屬性,而不是直接訪問它們。這可以通過for in循環完成,但無法保證屬性迭代的順序。

事情是這樣的:

x.forEach(function (item){ 
    //forEach iterates over every object in array 
    for(var i in item) { 
     //for in iterates over every property in item 
     console.log(i, item[i]); 
    } 
}); 

也因爲最核心的陣列的方法,filter forEach map返回新陣列可以將它們鏈接。

編輯:我說謊,forEach不返回它自我所以不能鏈接後。然而,其他人提到。

這樣:的

var x = [].filter().map(); 

代替

var x = [].filter(); 

x = x.map(); 

見琴:http://jsfiddle.net/cgzbvpoe/1/

+0

大:d ...... – meraname