这就是我目前的搜索方式:
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);
}
我想循环遍历每个数组实例,然后查看它内部的数组可能会有点慢。
感谢任何帮助。
由于
凯文
答案 0 :(得分:1)
您可以使用jQuery inArray()来查找项目,然后将其删除
http://api.jquery.com/jQuery.inArray/
您甚至可以使用jQuery grep查找项目并将其拼接出来:
答案 1 :(得分:0)
要检查阵列,您需要:
if( Object.prototype.toString.call( item ) === '[object Array]' ) {
// do some
}
要在数组中查找元素,您可以使用jQuery .inArray()
。
答案 2 :(得分:0)
您可以将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);
}
}
答案 3 :(得分:0)
http://api.jquery.com/jQuery.grep/
function RemoveQuestion(question)
{
questionCollection = $.grep(questionCollection, function (item) {
return (item.PprID === question.PprID);
}, true);
}