[jquery] jQuery를 사용하여 배열에서 특정 값을 제거하는 방법

다음과 같은 배열이 있습니다. var y = [1, 2, 3];

2array 에서 제거 하고 싶습니다 y.

jQuery를 사용하여 배열에서 특정 값을 제거하려면 어떻게합니까? 나는 시도 pop()했지만 항상 마지막 요소를 제거합니다.



답변

작동하는 JSFIDDLE

다음과 같이 할 수 있습니다 :

var y = [1, 2, 2, 3, 2]
var removeItem = 2;

y = jQuery.grep(y, function(value) {
  return value != removeItem;
});

결과:

[1, 3]

http://snipplr.com/view/14381/remove-item-from-array-with-jquery/


답변

jQuery를 사용하면 다음과 같이 한 줄 작업을 수행 할 수 있습니다.

예 : http://jsfiddle.net/HWKQY/

y.splice( $.inArray(removeItem, y), 1 );

native .splice()및 jQuery를 사용합니다 $.inArray().


답변

jQuery.filter방법이 유용합니다. Array객체에 사용할 수 있습니다.

var arr = [1, 2, 3, 4, 5, 5];

var result = arr.filter(function(elem){
   return elem != 5;
});//result -> [1,2,3,4]

http://jsfiddle.net/emrefatih47/ar0dhvhw/

Ecmascript 6에서 :

let values = [1,2,3,4,5];
let evens = values.filter(v => v % 2 == 0);
alert(evens);

https://jsfiddle.net/emrefatih47/nnn3c2fo/


답변

underscore.js 를 사용할 수 있습니다 . 정말 간단합니다.

귀하의 경우 작성해야 할 모든 코드는-

_.without([1,2,3], 2);

결과는 [1,3]이됩니다.

작성하는 코드가 줄어 듭니다.


답변

jQuery 방법은 아니지만 … 더 간단한 방법을 사용하지 않는 이유는 무엇입니까? 다음 배열에서 ‘c’를 제거하십시오.

var a = ['a','b','c','d']
a.splice(a.indexOf('c'),1);
>["c"]
a
["a", "b", "d"]

당신은 또한 사용할 수 있습니다 : (나 자신에게주의 : 소유하지 않은 객체를 수정하지 마십시오 )

Array.prototype.remove = function(v) { this.splice(this.indexOf(v) == -1 ? this.length : this.indexOf(v), 1); }
var a = ['a','b','c'];
a.remove('c'); //value of "a" is now ['a','b']

추가가 더 간단합니다a.push('c')


답변

배열에서 항목 제거

var arr = ["jQuery", "JavaScript", "HTML", "Ajax", "Css"];
var itemtoRemove = "HTML";
arr.splice($.inArray(itemtoRemove, arr), 1);


답변

//This prototype function allows you to remove even array from array
Array.prototype.remove = function(x) {
    var i;
    for(i in this){
        if(this[i].toString() == x.toString()){
            this.splice(i,1)
        }
    }
}

사용 예

var arr = [1,2,[1,1], 'abc'];
arr.remove([1,1]);
console.log(arr) //[1, 2, 'abc']

var arr = [1,2,[1,1], 'abc'];
arr.remove(1);
console.log(arr) //[2, [1,1], 'abc']

var arr = [1,2,[1,1], 'abc'];
arr.remove('abc');
console.log(arr) //[1, 2, [1,1]]

이 프로토 타입 함수를 사용하려면 코드에 붙여 넣어야합니다. 그런 다음 ‘점 표기법’을 사용하여 모든 배열에 적용 할 수 있습니다.

someArr.remove('elem1')