Javascript:如何将数组的内容过滤成两个结果数组

时间:2017-02-24 13:36:39

标签: javascript jquery arrays

我有一个包含简单数字(ids)的数组:

idsGroup : [0,1,5,66,88,10,12.....]

我还有另一个“每个”循环,它是该表中每个id的fetchi值,所以我用每个id注入一个字符串: (ids数组和每个循环中呈现的列表具有相同的长度)

最终得到一个像这样的数组:

idsGroup : [0-state1,1-state2,5-state1,66-state1,88-state2.....] 

她要完成代码:

$('#select option:selected').each(function () {
                var typeGroup = $j(this).data('type');
                console.log(typeGroup);
                idsGroups[i] = idsGroups[i]+"-"+typeGroup;
                i=i+1;
});

因为只有两种可能的状态:state1和state2;

我想获得两个可用的桌子,我正在为每个州,所有的ids闹钟:

喜欢那样: -

state1=[0,5,66...]
state2=[1,88.....]

和课程我应该可以在“每个”循环中使用

建议??

1 个答案:

答案 0 :(得分:1)

这样的事情?

var idsGroup = ["0-state1","1-state2","5-state1","66-state1","88-state2"];

var state1 = [];
var state2 = [];

for(var i = 0; i < idsGroup.length; i++){
    if(idsGroup[i].indexOf("state1") > 0){
        state1.push(idsGroup[i].replace('-state1',''));
    }else{
        state2.push(idsGroup[i].replace('-state2',''));
    }
}