2010-02-07 3 views

답변

1
function RemoveArrayValue(arr, val) 
{ 
    var result = [], //empty array 
    j = 0, i, len = arr.length; 

    for(i = 0; i < len; ++i) 
     if(arr[i] != val) 
     result[j++] = val; 

    return result; 
} 

BTW 해결 방법에게있다 IE8의)하지만, 문자열 개체입니다. indexOf 메서드를 JS Array 객체에 포함 시키려면 코드에 다음을 선언해야합니다.

if (!Array.prototype.indexOf) 
{ 
    Array.prototype.indexOf = function(val) 
    { 
     for(var i = 0, len = this.length; i < len; ++i) 
      if(this[i] === val) 
      return i; 

     return -1; 
    } 
} 
+0

'indexOf'는'Array.prototype'의 일부입니다 만, 모든 브라우저 (IE가 부족합니다)에 의해 구현되지 않았습니다.이 메소드는 ECMAScript 3rd Ed의 일부입니다. 표준이며, 네이티브 구현이 번개가 빠르기 때문에 네이티브'Array.prototype.indexOf'가 오버라이드되기 전에 존재하는지 검사해야합니다. – CMS

+0

맞다! 감사합니다 4 코멘트. 위의 코드를 u가 제안한대로 업데이트했습니다. :) –

관련 문제