我正在研究一个系统来对条件和一个对象(或对象数组)进行比较,并试图找到处理它的最佳方法。例如,'query'看起来像这样:
var query = {
field: 'name',
operand: '==',
value: 'Joe'
}
然后我循环的数组看起来像这样:
var data = [
{
id: 12345,
name: 'John'
},{
id: 67890,
name: 'Joe'
}
]
然后我只是循环,只想push
进入results
匹配:
var results = [];
for (var i=0, z=data.length; i<z; i++) {
// In here, evaluate current iterative object against query...
// on match - results.push(data[i]);
}
我想我可以对从eval
属性派生的字符串使用query
,但想知道是否有更好的方法,我只是没有看到。