掌握JavaScript数组去重与数据类型详解

下载需积分: 5 | MD格式 | 64KB | 更新于2024-08-03 | 101 浏览量 | 0 下载量 举报
收藏
在面试题的第二阶段,重点考察的是对JavaScript编程基础知识的深入理解和实践经验。以下知识点将帮助你更好地准备面试: ### 1. 数组去重方法 面试中可能会问到如何在JavaScript中实现数组的去重,提供了两种常见方法: **方法一:创建新数组** 通过遍历原数组,检查元素是否已存在于新数组中。如果不存在,则将其添加。这种方法适用于不考虑元素顺序的情况。 ```javascript function norepeat(arr) { var newArr = []; for (let i = 0; i < arr.length; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } return newArr; ``` **方法二:排序后删除重复项** 先对数组进行排序,然后通过比较相邻元素,如果相同则删除并调整索引。此方法会改变原数组顺序。 ```javascript function norepeat(arr) { arr = arr.sort(); for (let i = 0; i < arr.length; i++) { if (arr[i] === arr[i + 1]) { arr.splice(i, 1); i--; // 由于删除元素,需重新调整索引 } } return arr; ``` ### 2. JavaScript数据类型 面试时可能会询问关于数据类型的分类及其特性: - **基本数据类型**: - Number:数值型(包括整型和浮点型) - String:字符串型 - Boolean:布尔型 - undefined:表示未定义 - null:表示空值 - Symbol:唯一标识符,用于避免属性名冲突 - BigInt:大整数类型 - **内存分配**: - 基本数据类型直接在栈中存储,不涉及引用。 - 引用数据类型在栈中存储的是数据的地址,指向堆中的实际数据。 - **数据类型判断**: - `typeof`:仅适用于基本数据类型,对引用数据类型(如数组和对象)返回“object”。 - `Array.isArray()`:用于检测是否为数组,返回布尔值。 ### 3. 判断数据类型和实例方法 - **`typeof`与`instanceof`**: - `typeof`只能识别基本数据类型,对于数组和对象等引用类型会误报。 - `instanceof`用来检测一个对象是否属于某个构造函数创建的对象类型,如`x instanceof Array`。 - **数组和对象的判断**: - 对于数组,使用`Array.isArray()`。 - 对于对象,可以使用`typeof`(虽然可能返回“object”,但通常不会混淆),或者检查某个元素是否存在该对象的属性(例如,`if('length' in obj)`)。 掌握这些知识点,能让你在面试中展现出扎实的JavaScript基础和解决问题的能力。
身份认证 购VIP最低享 7 折!
30元优惠券