从条件语句推送到数组

时间:2013-01-16 15:11:18

标签: jquery arrays

  

可能重复:
  Storing items of an array depending on another value

我有一个名为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;
                    }


             });

1 个答案:

答案 0 :(得分:0)

如果要迭代非jQuery集合或HTML元素,则必须使用$.each,如:

$.each(catalogue, function () {

此外,.each只是迭代,实际上并没有返回任何内容。你的回报几乎就是蠢货。相反,您应该在条件中推送到result