日期:2014-05-16  浏览次数:20499 次

js 数组过滤
有这么一个var,
var MonthlyPeriodList = [{ TimePeriodName: 'Daily', TimePeriodValue: 'Daily' }, { TimePeriodName: 'Weekly', TimePeriodValue: 'Weekly' }, { TimePeriodName: 'Monthly', TimePeriodValue: 'Monthly'}]

在JS里面,我想取出TimePeriodValue不等于Weekly的这个数组,改怎么过滤啊?求高手指导啊
------解决方案--------------------
var tmpArr = new Array();//这个就是你要的数组
var MonthlyPeriodList = [{ TimePeriodName: 'Daily', TimePeriodValue: 'Daily' }, { TimePeriodName: 'Weekly', TimePeriodValue: 'Weekly' }, { TimePeriodName: 'Monthly', TimePeriodValue: 'Monthly'}]
for(var i=0;i<MonthlyPeriodList .length;i++)
{
    if(MonthlyPeriodList [i].TimePeriodName!='Weekly')
   {tmpArr.push(MonthlyPeriodList [i])}
}


------解决方案--------------------
[1,2,3].filter(function(value){return value%2})

var MonthlyPeriodList = [{ TimePeriodName: 'Daily', TimePeriodValue: 'Daily' }, { TimePeriodName: 'Weekly', TimePeriodValue: 'Weekly' }, { TimePeriodName: 'Monthly', TimePeriodValue: 'Monthly'}]

MonthlyPeriodList.filter(function(obj){ return obj.TimePeriodValue != 'Weekly'})
用html5的filter一步搞定!