js 그룹 확장 방법
7571 단어 js
Array.prototype.clear = function() {
this.length = 0;
}
2. 데이터 항목이 수조에 있는 위치를 판단한다
varoldArrayIndexOf = Array.indexOf;// indexOf
Array.prototype.indexOf = function(obj) {
if(!oldArrayIndexOf) {
for(vari = 0, imax = this.length; i < imax; i++) {
if(this[i] === obj) {
returni;
}
}
return-1;
} else{
returnoldArrayIndexOf(obj);
}
}
3. 데이터 항목이 이 그룹에 있는지 판단
Array.prototype.contain = function(obj) {
returnthis.indexOf(obj) !== -1;
}
4. 데이터 항목을 지정된 위치에 추가
Array.prototype.insertAt = function(index, obj) {
if(index < 0) index = 0; if(index > this.length) index = this.length;
this.length++;
for(vari = this.length - 1; i > index; i--) {
this[i] = this[i - 1];
}
this[index] = obj;
}
5. 가장 많은 데이터를 반환
Array.prototype.last = function() {
returnthis[this.length - 1];
}
6. 배열에서 지정한 인덱스 값을 제거합니다.
Array.prototype.removeAt = function(index) {
if(index < 0 || index >= this.length) return;
varitem = this[index];
for(vari = index, imax = this.length - 2; i < imax; i++) { this[i] = this[i + 1]; } this.length--; returnitem; }
7. 데이터 항목의 데이터 제거
Array.prototype.removeAt = function(obj) { varindex = this.indexOf(obj); if(index >= 0)
this.removeAt(index);
}
8. 그룹에 대한 조회는 대상 그룹에 있는 대상의 일부 값을 조회하는 데 사용되며, 조회된 속성의 이름을 바꾸는 것을 지원합니다. 만약에 조회된 속성이 개수 그룹에 없다면 이 속성은undefined로 되돌아옵니다.
Array.prototype.select = function(args) {
varnewItems = [];
if(typeof(args) === "object"&& arguments.length === 1) {//
for(vari = 0, imax = this.length; i < imax; i++) {
varitem = {};
for(varkey inargs) {
if(args[key] !== undefined) {
item[key] = this[i][key] === undefined ? "undefined": this[i][key];
}
}
newItems.push(item);
}
} elseif(typeof(args) === "string"&& arguments.length === 1) {// ,
for(vari = 0, imax = this.length; i < imax; i++) {
varitem = {};
varkeys = args.split(',');
for(vark = 0, kmax = keys.length; k < kmax; k++) {
variKey = keys[k].split("as");
if(iKey.length === 1) {
item[iKey[0].trim()] = this[i][iKey[0].trim()] === undefined ? "undefined": this[i][iKey[0].trim()];
} else{
item[iKey[1].trim()] = this[i][iKey[0].trim()] === undefined ? "undefined": this[i][iKey[0].trim()];
}
}
newItems.push(item);
}
} else{//
for(vari = 0, imax = this.length; i < imax; i++) {
varitem = {};
for(varj = 0, jmax = arguments.length; j < jmax; j++) {
if(arguments[j] !== undefined) {
variKey = arguments[j].split("as");
if(iKey.length === 1) {
item[iKey[0].trim()] = this[i][iKey[0].trim()] === undefined ? "undefined": this[i][iKey[0].trim()];
} else{
item[iKey[1].trim()] = this[i][iKey[0].trim()] === undefined ? "undefined": this[i][iKey[0].trim()];
}
}
}
newItems.push(item);
}
}
returnnewItems;
}
가령 데이터 대상 수조는:var obj=[{name:'장삼', second.age:'24', sex:'남'}, {name:'장이', age:'21', age:'23', sex:'남'}, {name:'장사', age:'25', sex:'여'}, {name:'장5', age:'22', sex:'남'}이다.
예1:obj.select(“name,second.age as age,sex”);예2:obj.select(“name”,”second.age as age”,”sex”);예3: 검색 속성 대상 vararg={name:','second.age:','sex:'};obj.select(arg);
9, js 수조 썸 방법의 운용
수조some 방법은 2개의 매개 변수를 받아들인다.하나는 3개의 매개 변수를 받아들일 수 있는 리셋 함수이고, 하나는 실행 상하문을 대표하는 대상이며,some 방법은boolean형을 되돌려준다.
리셋 함수는 전송된 수조에 조건을 충족시키는 방법이 있는지 판단하는 데 쓰인다.
예를 들어, 배열에 요소가 있는지 확인합니다.
var arr =[2,3,5,6,7,9];
var id = 5;
// ,
function back(arr){
return arr === id;
}
if(arr.some(back)){
alert('true')
}else{
alert('false')
}
some는 여러 조건을 동시에 판단하는 등 복잡한 검색을 처리할 수 있습니다.var found = null;
var points = [ {x: 10, y: 20}, {x: 15, y: 53}, {x: 17, y: 72}];
points.some(function (point) {
if (point.x > 10 && point.y < 60) {
found = point; // found return true;
}
return false;
});
if (found) {
alert("Found: " + found.x + ", " + found.y); // Found: 15, 53
}
우리도 forEach 로 조회할 수 있지만, forEach가 지정한 조건에 도달한 후에는 코드 실행을 중단할 수 없습니다. 추가로 이상을 던져야 forEach의 순환에서 벗어날 수 있습니다.
------------------------------------------------------------------------
grep () 방법을 사용하여 배열을 필터링할 수 있습니다.
jQuery.grep( array, function(elementOfArray, indexInArray) [, invert ] )
array
유형:
Array
요소를 조회하는 데 사용되는 그룹입니다.
function(elementOfArray, indexInArray)
유형:
Function ()
이 함수는 모든 원소의 비교를 처리한다.첫 번째 파라미터는 검사 중인 그룹의 요소이고, 두 번째 파라미터는 이 요소의 인덱스 값입니다.이 함수는 부울 값을 되돌려야 한다.
this
는 전역적인 윈도우 대상이 될 것이다.invert
유형:
Boolean
"invert"가false이거나 제공되지 않으면 함수는 "callback"에서true의 모든 요소로 구성된 그룹을 되돌려줍니다."invert"가true라면, 함수는 "callback"에서false의 모든 요소로 구성된 그룹을 되돌려줍니다.
조건을 충족시키는 수조로 되돌아오기;
확장 링크: http://www.css88.com/jqapi-1.9/jQuery.grep/
-----array의 some 방법을 사용할 수도 있습니다.
다른 것은 썸 방법은 수조에 조건이 충족되면true를 되돌려주고,some 방법에 전달된 매개 변수는 리셋 함수이다.
var array = [1,2,3,4,5,9]
function back(arr){
arr>0//arr 대표수 그룹의 원소
}
array.some(back(array));//true
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.