使用jQuery删除数组中的第一个匹配项

时间:2014-05-31 13:28:43

标签: jquery arrays

我试图从数组中删除第一个出现的内容,而不是像搜索到的元素那样的所有元素 数组类似于:

groupedObjects: [
    { value: 125, currency: "EUR" }, 
    { value: 100, currency: "USD" },
    { value: 100, currency: "USD" }, 
    { value: 320, currency: "RON" }
]

我用来解决问题的代码是:

var newArr = $.grep(amount, function(item, idx) {
    return item.currency == currency || item.value == val; }, true);
amount = newArr;

此代码的问题在于使用它,它将删除所有发现的事件,而不仅仅是第一个 有人能帮助我吗?

2 个答案:

答案 0 :(得分:2)

$.each(amount, function(idx, item) {
    if (item.currency == currency || item.value == val) {
        amount.splice(idx, 1); // Remove current item
        return false; // End the loop
    }
});

DEMO

答案 1 :(得分:0)

你必须这样做

groupedObjects.splice(0,1)

看一下http://www.w3schools.com/jsref/jsref_splice.asp