배열이든 객체이든 typeof 연산의 반환값이 객체이기 때문에 배열 유형과 객체 유형을 구분할 필요가 있습니다.
Fang 1: 길이 속성을 통해: 일반적으로, 객체에는 길이 속성 값이 없으며 해당 값은 정의되지 않으며 배열의 길이 값은 number
유형입니다. 단점: 객체의 속성에 길이가 있고 해당 값이 숫자( 클래스 배열과 같은) 이 방법은 유효하지 않으므로 사용하고 살펴보는 것이 좋습니다.
* 방법 2: instanceof를 사용하여 차이 판단
1.instanceof
var arr = [1, 2, 3];
var obj = {
name: ' lyl ',
연령: 18,
l: 'name'
}
console.log(arr instanceof Array); //true
console.log(obj instanceof Array) //false
2 .constructor
var arr = [1, 2, 3];
var obj = {
이름: 'lyl',
나이: 18,
1: '이름'
}
console .log(arr.constructor === Array); //true
console.log(obj.constructor === Array); //false
3.Object.prototype.toString()
var arr = [1, 2, 3];
var obj = {
이름: 'lyl',
나이: 18,
1: 'name'
}
console.log(Object.prototype.toString . call(arr) === '[객체 배열]'); //true
console.log(Object.prototype.toString.call(boj) === '[객체 배열]') //false
4. 유일한 배열 방법(예: sort, pop 등)
var arr = [1, 2, 3];
var obj = {
name: 'lyl',
age : 18,
1: '이름'
}
console.log(arr.sort === Array.prototype.sort); //true
console.log(obj.sort === Array.prototype. 정렬); / /false
위 내용은 JavaScript에서 변수가 객체인지 배열인지 확인하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!