처음 작업 할 jQuery.inArray()
때 좀 이상하게 행동합니다.
객체가 배열에 있으면 0을 반환하지만 Javascript에서는 0이 false입니다. 따라서 다음과 같이 출력됩니다 : "is array in"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
if 문을 다음과 같이 변경해야합니다.
if(jQuery.inArray("test", myarray)==0)
그러나 이것은 코드를 읽을 수 없게 만듭니다. 특히이 기능을 모르는 사람에게 적합합니다. "test"가 배열에있을 때 jQuery.inArray ( "test", myarray)가 true를 제공 할 것으로 예상합니다.
그래서 제 질문은 왜 이런 식으로 이루어 집니까? 나는 이것을 정말로 싫어한다. 그러나 그렇게하는 좋은 이유가 있어야합니다.
if jQuery.inArray('test', myarray) isn't -1