我有一个名为catalog的数组,它包含4个项目:
packageid,dataid,categoryid和datapackage。
我想要做的是将packageid等于packageBtnFilter且其categoryid等于categoryBtnFilter的项目的所有数据集推入数组结果。如果packageBtnFilter和categoryBtnFilter的值都是0,那么它应该将catalog的所有dataid都推送到结果数组中。
这是我到目前为止所做的:
var result = new Array();
var packageBtnFilter = $('#packages').val() ;
var categoryBtnFilter = $('#categories').val() ;
var test = $(catalogue).each(function () {
if ( (packageBtnFilter!= 0) && (categoryBtnFilter==0 ) ){
return this.packageid == packageBtnFilter;
} else if ( (categoryBtnFilter!=0 ) && (packageBtnFilter!= 0) ) {
return this.categoryid == categoryBtnFilter;
} else if ( (categoryBtnFilter==0 ) && (packageBtnFilter== 0) ) {
return
} else {
return this.packageid == packageBtnFilter && this.categoryid == categoryBtnFilter;
}
});
答案 0 :(得分:0)
如果要迭代非jQuery集合或HTML元素,则必须使用$.each
,如:
$.each(catalogue, function () {
此外,.each
只是迭代,实际上并没有返回任何内容。你的回报几乎就是蠢货。相反,您应该在条件中推送到result
。