javascript 에서 지정 한 배열 에서 지정 한 요소 의 코드 를 삭제 합 니 다.

3629 단어 지정 배열원소
함 수 는 다음 과 같다.while(i
foreach = function (obj, insp){
  if(obj== null && obj.constructor != Array){
  return [];
}
//obj ,obj==null ;obj.constructor != Array obj ;
//constructor 。 , [];
// constructor 。
var obj= [1, 2, 3, 4]; // var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // true obj Array;
var foo= function() { }; // var foo = new Function();
console.log(foo.constructor === Function); // true foo Function;
var obj = new Foo(); // obj
console.log(obj.constructor === Foo); // true obj Foo;
소스 코드 는 다음 과 같다
 
ArrayWithout = function(){
  if (arguments.length < 2) {
// Arguments , .
    return arguments.length == 1 ? arguments[0] : null;
  }
  var results = [];
   var aa = arguments[0];
// aa;
  if (aa === null || aa.constructor != Array) {
    return null;
// aa , null;
  }
  if(arguments[1].constructor == Array){
// , ;
    var args = [];
    args[0] = aa;
//aa = arguments[0] aa args, ;
    foreach(arguments[1], function(v, i){
// foreach, arguments[1] ,
      args[i+1] = v;
// v arguments[1] , args[1],args[2]..., args[0]=arguments[0];
   });
   }
   else{
    args = arguments;
// , args;
  }
  for(var i = 0;i < aa.length; i ++){
    var isWithout = true;
    for(var j = 1; j < args.length ; j ++){
      if(aa[i] == args[j]){
       isWithout = false;
       break;
// j 1 , args args[0] arguments[0], , aa;
aa , ,break ; isWithout false, results.push(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]

좋은 웹페이지 즐겨찾기