有没有办法过滤我的键值。我想过滤键为 REF 且值为 text1 的键。获取键为 REF 而我的值为 text1 的结果。我想在返回结果时单独访问每个键值。像警报(SNO,值);其中 SNO 是我的键和从我的过滤结果返回的值
<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>
这是我在 chrome 控制台中得到的内容
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"
}
]
最佳答案
如果您想过滤任何数组,您可以使用每个数组的核心 .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();
参见 fiddle :http://jsfiddle.net/cgzbvpoe/1/
关于javascript - ajax成功时过滤json的Key值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32943191/