过滤数组,如果不是空的 - javascript

时间:2017-01-23 09:04:37

标签: javascript arrays

我从多个位置调用filterArray函数,它具有主数组。因此,当我第一次打电话时,我的阵列将有4个项目,然后我有一些条件将其过滤为2个项目。下次当我调用相同的filterArray函数时,我应该从已经过滤的项目中过滤,而不是从父数组中过滤

基本上这是我的父数组 template <class T> struct A { using X = typename T::X; }; template <class T> typename T::X f(typename A<T>::X); template <class T> void f(...) { } template <class T> auto g(typename A<T>::X) -> typename T::X; template <class T> void g(...) { } void h() { f<int>(0);// OK, substituting return type causes deduction to fail g<int>(0);// error, substituting parameter type instantiates A<int> }

 template <class T> struct A { using X = typename T::X; };
 template <class T> typename T::X f(typename A<T>::X);
 template <class T> void f(...) { }
 template <class T>
 requires false
 auto g(typename A<T>::X) -> typename T::X;
 template <class T> 
 requires true
 void g(...) { }
 void h() {
    f<int>(0);// OK, substituting return type causes deduction to fail
    g<int>(0);// error, substituting parameter type instantiates A<int>
}

接下来我正在做

arr

newArray是

{
    "0" : a
    "1" : b
    "2" : c
    "3" : d
}

同样新的过滤器应该适用于过滤后的数组

var newArray = [];
filterArray(tick)
{
    for(var k = 0;k<arr.length;k++){ 
        if(tick == true)
        {
            newArray.push(arr[k]);
        }
    }
}

这就是我正在做的事情

{
    "0" : a
    "1" : b 
}

如何从已过滤的数组中过滤数组项(如果存在)

1 个答案:

答案 0 :(得分:-1)

使用以下函数将数组作为输入,并将过滤后的数组作为输出返回。

function filterArray(myArray)
{
    var newArray = [];
    if(myArray && myArray.length > 0)
    {
        for(var k = 0; k < myArray.length; k++)
        { 
            if(index == 0 && index == 1)
            {
                newArray.push(myArray[k]);
            }
        }
    }
    return newArray;
}