[JQUERY] 키 값을 기준으로 배열의 자바 스크립트의 발견 및 제거 개체
JQUERY키 값을 기준으로 배열의 자바 스크립트의 발견 및 제거 개체
해결법
-
1.단순히 반대 술어에 의해 필터링 :
단순히 반대 술어에 의해 필터링 :
var data = $.grep(data, function(e){ return e.id != id; });
-
2.여기 당신이 jQuery를 사용하지 않는 경우 해결책은 다음과 같습니다
여기 당신이 jQuery를 사용하지 않는 경우 해결책은 다음과 같습니다
myArray = myArray.filter(function( obj ) { return obj.id !== id; });
-
3.이 작업을 단순화 할 수 있으며, 여기에 jQuery를 사용하여 필요 정말 없습니다.
이 작업을 단순화 할 수 있으며, 여기에 jQuery를 사용하여 필요 정말 없습니다.
var id = 88; for(var i = 0; i < data.length; i++) { if(data[i].id == id) { data.splice(i, 1); break; } }
그냥 목록을 통해 반복 일치하는 아이디, 스플 라이스를 찾은 다음 루프를 종료 휴식
-
4.ES6 / findIndex 및 배열 확산 연산자를 사용하여 2015 년에이 작업을 수행 할 수있는 새로운 방법이있다 :
ES6 / findIndex 및 배열 확산 연산자를 사용하여 2015 년에이 작업을 수행 할 수있는 새로운 방법이있다 :
const index = data.findIndex(obj => obj.id === id); const newData = [ ...data.slice(0, index), ...data.slice(index + 1) ]
이 같은 나중에 재사용하는 기능으로 바꿀 수 있습니다 :
function remove(array, key, value) { const index = array.findIndex(obj => obj[key] === value); return index >= 0 ? [ ...array.slice(0, index), ...array.slice(index + 1) ] : array; }
당신이 할 수있는이 방법은 한 가지 방법을 사용하여 다른 키에서 항목을 제거하는 (그리고 기준을 충족 어떤 목적이 없다면, 당신은 원래의 배열을 반환받을) :
const newData = remove(data, "id", "88"); const newData2 = remove(data, "name", "You are awesome!");
또는 당신은 당신의 Array.prototype으로 그것을 넣을 수 있습니다 :
Array.prototype.remove = function (key, value) { const index = this.findIndex(obj => obj[key] === value); return index >= 0 ? [ ...this.slice(0, index), ...this.slice(index + 1) ] : this; };
그리고이 방법을 사용합니다 :
const newData = data.remove("id", "88"); const newData2 = data.remove("name", "You are awesome!");
-
5.IDS는 고유하며 당신은 단지 트릭을 할해야 할 하나 개의 요소 스플 라이스를 제거해야한다고 가정 :
IDS는 고유하며 당신은 단지 트릭을 할해야 할 하나 개의 요소 스플 라이스를 제거해야한다고 가정 :
var data = [ {"id":"88","name":"Lets go testing"}, {"id":"99","name":"Have fun boys and girls"}, {"id":"108","name":"You are awesome!"} ], id = 88; console.table(data); $.each(data, function(i, el){ if (this.id == id){ data.splice(i, 1); } }); console.table(data);
-
6.
var items = [ {"id":"88","name":"Lets go testing"}, {"id":"99","name":"Have fun boys and girls"}, {"id":"108","name":"You are awesome!"} ];
당신이 jQuery를 사용하는 경우, 다음과 같이 jQuery.grep을 사용합니다 :
items = $.grep(items, function(item) { return item.id !== '88'; }); // items => [{ id: "99" }, { id: "108" }]
ES5 Array.prototype.filter 사용 :
items = items.filter(function(item) { return item.id !== '88'; }); // items => [{ id: "99" }, { id: "108" }]
-
7.어쩌면 당신은 $ .grep () 함수를 찾고 있습니다 :
어쩌면 당신은 $ .grep () 함수를 찾고 있습니다 :
arr = [ {"id":"88","name":"Lets go testing"}, {"id":"99","name":"Have fun boys and girls"}, {"id":"108","name":"You are awesome!"} ]; id = 88; arr = $.grep(arr, function(data, index) { return data.id != id });
-
8.SIFT는이 같은 작업을 훨씬 더 고급 사람을위한 강력한 수집 필터입니다. 그것은 node.js.의 브라우저 나 서버 측에서 클라이언트 측 작동
SIFT는이 같은 작업을 훨씬 더 고급 사람을위한 강력한 수집 필터입니다. 그것은 node.js.의 브라우저 나 서버 측에서 클라이언트 측 작동
var collection = [ {"id":"88","name":"Lets go testing"}, {"id":"99","name":"Have fun boys and girls"}, {"id":"108","name":"You are awesome!"} ]; var sifted = sift({id: {$not: 88}}, collection);
이것은 $에서, $ 닌, $가 존재 $ GTE, $ 하였다, $ LTE, $ LT, $ 당량, $ NE, $ 개조, $ 모두 $ 및 $ 또는 $ 않으며, $되지 $ 같은 필터를 지원 크기, $ 유형 및 $ 정규식, 그리고 최선의 노력을 기울이고은 API 호환 MongoDB를 수집 필터링 할 수 있습니다.
-
9.
Array.prototype.removeAt = function(id) { for (var item in this) { if (this[item].id == id) { this.splice(item, 1); return true; } } return false; }
이 트릭, jsfiddle을해야
-
10.당신이 엄격한 평등을 테스트하는 경우 반드시 정수로 오브젝트 ID를 강요합니다
당신이 엄격한 평등을 테스트하는 경우 반드시 정수로 오브젝트 ID를 강요합니다
var result = $.grep(data, function(e, i) { return +e.id !== id; });
데모
-
11.당신이 JS 밑줄 사용하는 경우는 키를 기반으로 개체를 제거하기 쉽습니다. http://underscorejs.org. 예:
당신이 JS 밑줄 사용하는 경우는 키를 기반으로 개체를 제거하기 쉽습니다. http://underscorejs.org. 예:
var temp1=[{id:1,name:"safeer"}, //temp array {id:2,name:"jon"}, {id:3,name:"James"}, {id:4,name:"deepak"}, {id:5,name:"ajmal"}]; var id = _.pluck(temp1,'id'); //get id array from temp1 var ids=[2,5,10]; //ids to be removed var bool_ids=[]; _.each(ids,function(val){ bool_ids[val]=true; }); _.filter(temp1,function(val){ return !bool_ids[val.id]; });
-
12.당신이 찾고 ID로 객체와이 코드를 아래처럼 제거 할 경우는 답변 간단한 방법을 동의합니다.
당신이 찾고 ID로 객체와이 코드를 아래처럼 제거 할 경우는 답변 간단한 방법을 동의합니다.
var obj = JSON.parse(data); var newObj = obj.filter(item=>item.Id!=88);
from https://stackoverflow.com/questions/21659888/javascript-find-and-remove-object-in-array-based-on-key-value by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 자바 스크립트 / jQuery를 사용하여 프리로드 이미지에 결정적인 가장 좋은 방법은? (0) | 2020.10.25 |
---|---|
[JQUERY] 파이어 폭스 확장에 jQuery를 사용하는 방법 (0) | 2020.10.25 |
[JQUERY] jQuery를에 CSV로 내보내기 (0) | 2020.10.25 |
[JQUERY] jQuery를 함께 요소를 가리키면 경우 감지 (0) | 2020.10.25 |
[JQUERY] jquery.animate와 CSS 회전 크로스 브라우저 () (0) | 2020.10.25 |