2011-03-15 3 views

답변

4

push methodindexOf method을 찾고 있습니다. 당신이 그것을 직접 구현해야하므로 indexOf이처럼, IE에서 지원하지 않는 것을

참고 :

if (!Array.prototype.indexOf) 
{ 
    Array.prototype.indexOf = function(searchElement /*, fromIndex */) 
    { 
    "use strict"; 

    if (this === void 0 || this === null) 
     throw new TypeError(); 

    var t = Object(this); 
    var len = t.length >>> 0; 
    if (len === 0) 
     return -1; 

    var n = 0; 
    if (arguments.length > 0) 
    { 
     n = Number(arguments[1]); 
     if (n !== n) // shortcut for verifying if it's NaN 
     n = 0; 
     else if (n !== 0 && n !== (1/0) && n !== -(1/0)) 
     n = (n > 0 || -1) * Math.floor(Math.abs(n)); 
    } 

    if (n >= len) 
     return -1; 

    var k = n >= 0 
      ? n 
      : Math.max(len - Math.abs(n), 0); 

    for (; k < len; k++) 
    { 
     if (k in t && t[k] === searchElement) 
     return k; 
    } 
    return -1; 
    }; 
} 

+0

좋은데, in_array는 어떨까요? – James

+0

@Roon :'indexOf'를 사용하십시오. – SLaks

2

push_array : 발견에 대한

이 배열에서 네이티브하지

:

var someArray = []; 
someArray.push(value); 

in_array :

이 자바 스크립트에서 배열 객체에 대한 기본입니다 JavaScript 그러나 일부 브라우저는 비교할 수있는 Array.indexOf를 지원합니다. -1. 지원되지 않는 경우 항목을 반복해야합니다.

function inArray(elem, array) { 
    if (array.indexOf) { 
     return array.indexOf(elem) > -1; 
    } 

    for (var i = 0, length = array.length; i < length; i++) { 
     if (array[ i ] === elem) { 
      return true; 
     } 
    } 

    return false; 
}