[JQUERY] 오브젝트 속성에 기초하여 제거 배열 요소
JQUERY오브젝트 속성에 기초하여 제거 배열 요소
해결법
-
1.하나의 가능성 :
하나의 가능성 :
myArray = myArray.filter(function( obj ) { return obj.field !== 'money'; });
해당 필터는 새 배열을 만들고 있습니다. 새 참조하여 원래의 변수에 myArray을 업데이트하더라도 원래의 배열을 참조하여 다른 변수는 필터링 된 데이터를 얻을 수 없겠죠. 주의해서 사용합니다.
-
2.반복 처리 원하지 않는 것들을 밖으로 배열 및 접합을 통해. 쉽게 사용하기 위해 반복, 거꾸로 그래서 당신은 계정에 배열의 실제 성격을 수행 할 필요가 없습니다 :
반복 처리 원하지 않는 것들을 밖으로 배열 및 접합을 통해. 쉽게 사용하기 위해 반복, 거꾸로 그래서 당신은 계정에 배열의 실제 성격을 수행 할 필요가 없습니다 :
for (var i = myArray.length - 1; i >= 0; --i) { if (myArray[i].field == "money") { myArray.splice(i,1); } }
-
3.당신이 그것의 필드 속성에서 두 번째 개체를 제거하고 싶은 말은.
당신이 그것의 필드 속성에서 두 번째 개체를 제거하고 싶은 말은.
ES6로 그것은이 한 쉽게합니다.
myArray.splice(myArray.findIndex(item => item.field === "cStatus"), 1)
-
4.당신은 특정 요소의 인덱스를 취득하고이를 이용하여 접합하기 위해 lodash의 findIndex를 사용할 수 있습니다.
당신은 특정 요소의 인덱스를 취득하고이를 이용하여 접합하기 위해 lodash의 findIndex를 사용할 수 있습니다.
myArray.splice(_.findIndex(myArray, function(item) { return item.value === 'money'; }), 1);
최신 정보
당신은 또한) (ES6의 findIndex을 사용할 수 있습니다
myArray.splice(myArray.findIndex(myArray, function(item) { return item.value === 'money'; }), 1);
-
5.한 줄에 ES6.
한 줄에 ES6.
const arr = arr.filter(item => item.key !== "some value");
:)
-
6.다음의 jQuery GREP을 사용하여 다른 옵션들 중 하나입니다. 함수와 일치 GREP 제거합니다 항목을 보장하기 위해 세 번째 매개 변수로 true를 전달.
다음의 jQuery GREP을 사용하여 다른 옵션들 중 하나입니다. 함수와 일치 GREP 제거합니다 항목을 보장하기 위해 세 번째 매개 변수로 true를 전달.
users = $.grep(users, function(el, idx) {return el.field == "money"}, true)
이미 다음 jQuery를 사용하는 경우 더 심 Array.filter를 사용하여 반대입니다 유용 할 수있는, 필요하지 않습니다.
-
7.당신이 jQuery를 사용하지 않는 경우 다음은 코드입니다. 데모
당신이 jQuery를 사용하지 않는 경우 다음은 코드입니다. 데모
var myArray = [ {field: 'id', operator: 'eq', value: 'id'}, {field: 'cStatus', operator: 'eq', value: 'cStatus'}, {field: 'money', operator: 'eq', value: 'money'} ]; alert(myArray.length); for(var i=0 ; i<myArray.length; i++) { if(myArray[i].value=='money') myArray.splice(i); } alert(myArray.length);
또한 기능을 많이 가지고 밑줄 라이브러리를 사용할 수 있습니다.
밑줄은 함수형 프로그래밍의 많은 지원을 제공하는 자바 스크립트를위한 유틸리티 벨트 라이브러리
-
8.
var myArray = [ {field: 'id', operator: 'eq', value: id}, {field: 'cStatus', operator: 'eq', value: cStatus}, {field: 'money', operator: 'eq', value: money} ]; console.log(myArray.length); //3 myArray = $.grep(myArray, function(element, index){return element.field == "money"}, true); console.log(myArray.length); //2
요소는 어레이의 목적이다. 함수 논리를 실패 요소의 배열을 반환 3 매개 변수 진정한 수단은 거짓 수단 함수 논리를 실패 요소의 배열을 반환합니다.
-
9.위 아래 몇 가지 의견을 바탕으로 어떻게 키 이름과 키 값을 기준으로 개체를 제거하는 코드입니다
위 아래 몇 가지 의견을 바탕으로 어떻게 키 이름과 키 값을 기준으로 개체를 제거하는 코드입니다
var items = [ { "id": 3.1, "name": "test 3.1"}, { "id": 22, "name": "test 3.1" }, { "id": 23, "name": "changed test 23" } ] function removeByKey(array, params){ array.some(function(item, index) { return (array[index][params.key] === params.value) ? !!(array.splice(index, 1)) : false; }); return array; } var removed = removeByKey(items, { key: 'id', value: 23 }); console.log(removed);
-
10.lodash 라이브러리를 사용 :
lodash 라이브러리를 사용 :
VAR에 myArray = {필드 'ID'연산자 '당량'값 'ID'}, {필드 'cStatus'연산자 '당량'값 'cStatus'}, {필드 '비용'연산자 '당량'값 '비용'} ]; VAR newArray = _.remove (myArray의 함수 (N) { n.value === '돈'을 반환; }); CONSOLE.LOG ( '배열'); CONSOLE.LOG (myArray의); 을 console.log ( '새 배열'); CONSOLE.LOG (newArray); <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.js"> script>
-
11.jAndy의 솔루션은 아마 최고입니다,하지만 당신은 필터에 의존 할 수없는 경우처럼 뭔가를 할 수 :
jAndy의 솔루션은 아마 최고입니다,하지만 당신은 필터에 의존 할 수없는 경우처럼 뭔가를 할 수 :
var myArray = [ {field: 'id', operator: 'eq', value: 'id'}, {field: 'cStatus', operator: 'eq', value: 'cStatus'}, {field: 'money', operator: 'eq', value: "money"} ]; myArray.remove_key = function(key){ var i = 0, keyval = null; for( ; i < this.length; i++){ if(this[i].field == key){ keyval = this.splice(i, 1); break; } } return keyval; }
-
12.당신은 단순히 다음 findIndex 방법을 사용하여 객체의 배열에서 특정 요소를 제거하기 위해 스플 라이스 방법을 사용할 수 있습니다.
당신은 단순히 다음 findIndex 방법을 사용하여 객체의 배열에서 특정 요소를 제거하기 위해 스플 라이스 방법을 사용할 수 있습니다.
let index = myArray.findIndex(data=>data.field === 'money'); myArray.splice(index,1);
-
13.당신은 스플 라이스 방법을 사용할 수 있습니다 :
당신은 스플 라이스 방법을 사용할 수 있습니다 :
myArray.splice (인덱스 1);
또는 필터에있어서
myArray.filter (항목 => item.key == "값!");
-
14.lodash 라이브러리를 사용하면이 간단하다
lodash 라이브러리를 사용하면이 간단하다
_.remove(myArray , { field: 'money' });
from https://stackoverflow.com/questions/15287865/remove-array-element-based-on-object-property by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 대표 VS 라이브 jQuery를 () () [중복] (0) | 2020.10.02 |
---|---|
[JQUERY] 의 jQuery CSS 속성을 사용하여 배경 이미지 설정 (0) | 2020.10.02 |
[JQUERY] jQuery를에 체크 박스 값을 검색하는 방법 (0) | 2020.10.02 |
[JQUERY] jQuery를 사용하여 롤오버 이미지 소스 변경 (0) | 2020.10.02 |
[JQUERY] 자바 스크립트 CONSOLE.LOG는 오류가 발생합니다 : "동기 XMLHttpRequest를 메인 스레드에서 사용되지 않습니다 ..." (0) | 2020.10.02 |