对JavaScript对象的条件查询,使用JQuery返回特定的名称

Conditional query on JavaScript object to return specific name with JQuery

本文关键字:返回 JQuery 对象 JavaScript 条件 查询 使用      更新时间:2023-09-26

我有一个JavaScript对象,我用它来存储一个用户的数据,它看起来像这样:

output = {
  id: "444",
  trial: [1, 2, 3, 4, 5, 6, 7, 8, 9],
  points: [0, 100, 50, 50, 0, 0, 0, 100, 50]
  }

我想要查询/过滤这个对象,例如,提取output.points > 50中所有的试验号output.trial

我在另一篇文章中发现了这个,但它不是我想要的(它返回一个空数组)。

var result = $.grep(output, function(v) {
    return v.points > 50;
});

换句话说,我想要给出一些条件,并接收我的对象的一个名称的实例,其中this为真(优选为数组)。在这个例子中:

result_after_query = [2, 8]

我怎样才能做到这一点?

可以使用Array.prototype.filter方法:

var output = {
  id: "444",
  trial: [1, 2, 3, 4, 5, 6, 7, 8, 9],
  points: [0, 100, 50, 50, 0, 0, 0, 100, 50]
};
var result = output.trial.filter(function(el, i) {
  return output.points[i] > 50;
});
document.write(JSON.stringify(result));

使用下面的代码,它一定会对你有帮助

var output = {id: "444",trial: [1, 2, 3, 4, 5, 6, 7, 8, 9],points: [0, 100, 50, 50, 0, 0, 0, 100, 50]};
var arr = [];
$.each(output.points, function(index, value){
    if(value > 50)
      arr.push(index +1);
});
alert(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>