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);
}