>웹 프론트엔드 >JS 튜토리얼 >javascript_javascript 기술의 지정된 배열에서 지정된 요소를 삭제하는 코드

javascript_javascript 기술의 지정된 배열에서 지정된 요소를 삭제하는 코드

WBOY
WBOY원래의
2016-05-16 18:10:57890검색

함수는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

foreach = function (obj, insp){
 if(obj== null && obj.constructor != Array){
 return []
}
//obj는 처리할 배열, obj= =null은 객체가 아직 존재하지 않음을 의미합니다. != Array는 객체 obj 속성의 생성자가 배열이 아님을 나타냅니다.
//생성자 속성은 항상 현재 객체를 생성하는 생성자를 가리킵니다. . 두 조건이 모두 충족되면 빈 배열 []이 반환됩니다.
// 생성자 속성에 대해 자세히 알아 보겠습니다.
var obj= [1, 2, 3, 4]; // var obj= new Array(1, 2, 3, 4)
console.log(obj.constructor === Array ) ; // obj의 생성자가 Array임을 나타내는 true를 반환합니다.
var foo= function() { }; // var foo = new Function()
console.log(foo.constructor = = = Function); // foo의 생성자가 Function임을 나타내는 true를 반환합니다.
var obj = new Foo(); // 생성자에 의해 obj 객체를 인스턴스화합니다.
console.log(obj.constructor == = Foo); // obj의 생성자가 Foo임을 나타내는 true를 반환합니다.

------------------------- ------------------------------------- --------------------------------
var i=0, len = obj.length, r = [] ;
while(i var x = insp(obj[i], i)
 if (x !== null) {
 r[r.length] = x ;
}
i ;
}
return r;
}//insp 매개변수는 작업에 사용되는 메서드 또는 함수를 나타냅니다. 각 요소에. 두 개의 매개변수가 매개변수 insp에 전달되고, obj[i]는 배열의 각 요소 값을 나타냅니다. 함수 매개변수 insp가 x에 할당되고, 마지막으로 x 값이 배열 r에 할당됩니다.
---------------------------------- --- ---------------------------------- --- ----------
예를 들어 배열의 각 요소를 순회하려면 foreach 함수를 참조하세요.
var testArray = [1,2,3,4,5 ,1,2,'w '];
foreach(testArray, function(i){
 alert(i)
})
------------ ------- ----------------- ------- -----------
--- ------ ------------------ ------ ------------------ -
다른 함수를 사용하여 지정된 배열에서 지정된 요소를 삭제합니다.

코드 복사 코드는 다음과 같습니다.

ArrayWithout = function(){
if (arguments.length < 2) {
// 인수는 함수의 매개변수를 나타내는 특수 객체입니다.
returnargs.length = = 1 ? 인수[0] : null;
 }
var results = [];
var aa = 인수[0]
//첫 번째 매개변수를 배열에 할당합니다. > if (aa === null || aa.constructor != Array) {
null 반환
//aa가 존재하지 않거나 배열이 아닌 경우 null 반환
}
if(arguments [1].constructor == Array){
// 두 번째 매개변수가 배열인 경우 매개변수 배열에서 해당 요소를 각각 삭제합니다.
 var args =
 args[ 0; ] = aa;//aa = 인수[0] 배열 args에 첫 번째 요소 값으로 aa를 할당합니다.
 foreach(arguments[1], function(v, i){
//참조됨 배열 인수[1]의 각 요소에 대해 연산을 수행하는 함수 foreach,
  args[i 1] = v
// v는 배열 인수[1]의 각 요소 값을 나타냅니다. args[1], args[2]... 및 args[0]=arguments[0];
 })
  }
else{
  args = 인수; 🎜>//두 번째 매개변수가 배열이 아닌 경우 매개변수 배열을 args에 직접 할당
 }
 for(var i = 0;i < aa.length; i ){
 var isWithout = true;
   break;
// args args[0]의 첫 번째 요소는 우리가 처리하려는 원래 배열이므로 j는 1부터 시작한다는 점을 기억하세요. aa 배열로
삭제할 각 요소를 원래 배열 aa의 요소와 차례로 비교합니다. 동일하면 break는 루프에서 빠져나와 false를 반환합니다. (aa[i])는 더 이상 실행되지 않습니다.
   }
  }
 if (isWithout) {
  results.push(aa[i]); 삭제할 요소를 새 배열에 할당합니다. results;
 }
 return results
//지정된 요소가 삭제된 배열을 반환합니다. 🎜>// ArrayWithout 인용 예
var testArray = [1,2,3,4,5,1,2,'w']
var result = ArrayWithout(testArray, 1 , 3); 🎜>//var result = ArrayWithout(testArray, [1, 4]);
alert(result) //[2,4,5,2]


소스 코드는 다음과 같습니다. 다음:




코드 복사


코드는 다음과 같습니다.

foreach = function(obj, insp ) {
if(obj == null && obj.constructor != Array){
return [] } var i=0, len = obj.length, r = []; while(ivar x = insp(obj[i], i) if (x !== null) { r[r.length] = x;
}
i ;
}
return r;
}
ArrayWithout = function(){
if (arguments.length < 2) {
return 인수 .length == 1 ? 인수[0] : null;
}
var results = []; var aa = 인수[0]
if (aa === null || aa .constructor != Array) {
return null;
}
if(arguments[1].constructor == Array){
var args = []
args[0] = aa;
foreach(arguments[1], function(v, i){
args[i 1] = v;
})
else{
args = 인수;
}
for(var i = 0;i < aa.length; i ){
var isWithout =
for(var j = 1; j < args. 길이 ; j ){
if(aa[i] == args[j]){
isWithout = false
break
}
}
if (isWithout)
results.push(aa[i]);
}
}
결과 반환
}
var testArray = [1,2,3,4,5,1 , 2];
foreach(testArray, function(i){
alert(i)
})
var result = ArrayWithout(testArray, 1, 3)//var result = ArrayWithout(testArray, [1, 3])
alert(result) //[2,4,5,2]

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.