1

可能重复:
根据另一个值存储数组的项

我有一个名为目录的数组,其中包含 4 个项目:

packageid、dataid、categoryid 和 datapackage。

我想要做的是将 packageid 等于 packageBtnFilter 并且 categoryid 等于 categoryBtnFilter 的项目的所有 dataid 推入数组结果。如果 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;
                    }


             });
4

1 回答 1

0

如果要遍历非 jQuery 集合或 HTML 元素,则必须$.each改用,如下所示:

$.each(catalogue, function () {

此外,.each只是迭代,实际上并不返回任何东西。你的回报几乎只是空话。相反,您应该在条件句中推动result

于 2013-01-16T15:16:04.457 回答