面试官:判断数组的方式有哪些

简介: 面试官:判断数组的方式有哪些

640.jpg

前端面试过程中,面试官常常会问到怎么判断数组?判断数组的方法常见的有以下几种:

1. Object.prototype.toString.call()

  Object.prototype.toString.call([1,2,3,4]) === “[object Array]” 
  true

当然此方法也可以判断对象,字符串等任意变量的数据类型

2. 原型链判断数组

let a = [1,2,3]
a.__proto__ === Array.prototype
true

3. ES6方法 Array.isArray

let a = [1,2,3]
Array.isArray(a)
true

4. instanceof 判断

// instanceof 运算符用于验证构造函数的 prototype 属性是否出现在对象的原型链中的任意位置
let a = [1,2,3]
a instanceof Array

5.通过constructor判断

// 实例的构造函数属性constructor指向构造函数,通过constructor属性可以判断是否为一个数组
let a = [1,2,3]
a.constructor === Array
true

6. 通过 Array.prototype.isPrototypeOf

//  isPrototypeOf用于判断 一个对象是否是另一个对象的原型
//  只要调用者在传入对象的原型链上都会返回 true
let a = [1,2,3]
Array.prototype.isPrototypeOf(a)
true

往期:

箭头函数和常规函数之间的 5 个区别

11 个 ES2022(ES13)中惊人的 JavaScript 新特性

相关文章
|
算法
【数组相关面试题】LeetCode试题
【数组相关面试题】LeetCode试题
136 0
|
存储
力扣面试经典题之数组/字符串
力扣面试经典题之数组/字符串
122 0
|
算法 前端开发
经典面试题:扁平化嵌套数组
经典面试题:扁平化嵌套数组
103 0
|
JavaScript 前端开发 索引
经典面试题数组常用的方法
### 1.数组常用方法之 push()(==改变原数组,产生新数组==) - `push` 是用来在数组的末尾追加一个元素,返回添加以后的长度 ```javascript var arr = [1, 2, 3] // 使用 push 方法追加一个元素在末尾 arr.push(4) console.log(arr) // [1, 2, 3, 4] var res = arr.push(1,2,3,34); res//8 ``` ### 2.数组常用方法之 pop()(==改变原数组,产生新数组==) - `po
336 127
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
126 16
|
C语言
【Amazon 面试题1】一个数组,里面得数出现的次数是偶数次,只有一个数出现的次数是奇数次,找出那个出现奇数次的数
本文介绍了解决Amazon面试题的一种方法,即在一个所有数字出现次数都是偶数,除了一个数字出现奇数次的数组中,利用异或运算的性质找出出现奇数次的数字,并提供了C语言实现的代码示例。
216 1
|
存储 算法
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
181 0
|
开发框架 .NET
技术好文共享:面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
技术好文共享:面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
|
数据采集 算法 数据挖掘
LeetCode 题目 80:删除排序数组中的重复项 II【算法面试高频题】
LeetCode 题目 80:删除排序数组中的重复项 II【算法面试高频题】
|
机器学习/深度学习 算法
【力扣经典面试题】189. 轮转数组
【力扣经典面试题】189. 轮转数组