检查是否可以在另一个阵列中找到所有项目

时间:2016-05-02 19:01:55

标签: javascript arrays

我需要检查是否可以在另一个数组中找到数组中的所有项目。也就是说,我需要检查一个数组是否是另一个数组的子集。

示例:

var array = [1, 2, 5, 7];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];

比较上面这两个数组应该返回true,因为array中的所有项都可以在otherArray中找到。

var array = [1, 2, 7, 9];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];

比较上面这两个数组应该返回false,因为array中无法找到otherArray中的某个项目。

我试图在for循环中使用indexOf方法但没有成功。 我希望有人可以帮助我。 :)

1 个答案:

答案 0 :(得分:12)

使用Array.prototype.every

  

every()方法测试数组中的所有元素是否都通过了由提供的函数实现的测试。

public function executeGetNewsletters(sfWebRequest $request){

    $conn = Doctrine_Manager::getInstance()->getCurrentConnection();

    $qry=$conn->execute("Select anio,mes,quincena from newsletters");

            $newsletters = $qry;

            $dataNews = array();
            $i=0;
                foreach ($newsletters as $news)
                    {

                           $dataNews[$i] = array(
                                "0" => $news['anio'],
                                "1" => $news['mes'],
                                "2" => $news['quincena'],
                            );
                      ++$i;
                    }

            $output = array(
                "newsletters" => $dataNews,
            );

            $json=$this->renderText(json_encode($output));
            return $json;




  }