배열 요소가 숫자나 문자열인 경우에는 작동하지만 객체인 경우에는 작동하지 않습니다
PHP中文网2017-05-19 10:25:32
js의 객체는 참조 유형 값이며, 두 객체의 비교는 참조된 메모리 주소의 비교입니다. 다음 코드와 같습니다:
으아아아이 두 객체는 동일한 것처럼 보이지만 힙 메모리에 있는 서로 다른 객체를 참조하므로 동일하지 않습니다.
inArray의 구현은 배열을 순회하여 배열의 각 항목을 대상 값과 비교하고, 같으면 인덱스 값을 반환하고, 같지 않으면 -1을 반환해야 합니다. 위의 이유로 인해 참조 값은 별도로 선언된 두 개체가 동일하지 않으므로 -1이 반환됩니다.
習慣沉默2017-05-19 10:25:32
소스 코드에서는 isArray: Array.isArray가 사용됩니다. 내부에 객체를 포함할 수도 있지만 외부 레이어는 []이어야 합니다.
으아아아