Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在多维数组中查找数组?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在多维数组中查找数组?

Javascript 如何在多维数组中查找数组?,javascript,jquery,Javascript,Jquery,这是我目前搜索的方式: function RemoveQuestion(question) { $.each(questionCollection, function (index, item) { var indexToRemove; if (item["PprID"] == question["PprID"]) { //This question n

这是我目前搜索的方式:

function RemoveQuestion(question)
    {
        $.each(questionCollection, function (index, item)
        {
            var indexToRemove;
            if (item["PprID"] == question["PprID"])
            {
                //This question needs to be removed.
                indexToRemove = index;
                return false;
            }
        });

        questionCollection.splice(indexToRemove, 1);
    }
我想遍历每个数组实例,然后查看其中的数组可能会有点慢

感谢您的帮助

谢谢


Kevin要检查阵列,请执行以下操作:

if( Object.prototype.toString.call( item ) === '[object Array]' ) {
  // do some
}

要查找数组中的元素,可以使用jQuery

questionCollection
更改为数组的散列。或者,您可以首先从中构建哈希并为其编制索引,假设您只需要这样做一次就可以删除多个问题

function IndexQuestions()
{
    $.each(questionCollection, function (index, item)
    {
        questionIndex[item["PprID"]] = index;
    });
}
function RemoveQuestion(question)
{
    var indexToRemove = questionIndex[question["PprID"]];
    if (indexToRemove != null)
    {
        questionCollection.splice(indexToRemove, 1);
    }
}

可以使用jQuery inArray()查找该项,然后将其删除

您甚至可以使用jQuery grep查找项目并将其拼接出来:

function RemoveQuestion(question) 
{ 
    questionCollection = $.grep(questionCollection, function (item) {
        return (item.PprID === question.PprID);
    }, true);
}