一文带你走进JS数据类型与数据结构的世界
一、JS数据类型
1. 原始类型
JS中原始类型包括:Undefined、Null、Boolean、Number、String、Symbol(ES6新增)。
其中Undefined和Null分别代表未定义和空值,Boolean表示布尔值,Number表示数字,String表示字符串,Symbol是ES6新增的一种基础数据类型,表示独一无二的值。
示例
typeof undefined // 'undefined'
typeof null // 'object'
typeof true // 'boolean'
typeof 123 // 'number'
typeof 'abc' // 'string'
typeof Symbol() // 'symbol'
2. 引用类型
JS中引用类型包括:Object、Array、Function等。
对象是JS的核心数据类型,可以理解为一组无序的键值对,而数组是一种特殊的对象,用于存储一组有序的数据。函数则是一组可执行的语句。此外,还有很多其他的引用类型,如Date、RegExp、Map、Set等。
示例
typeof {} // 'object'
typeof [] // 'object'
typeof function(){} // 'function'
typeof new Date() // 'object'
typeof new RegExp() // 'object'
二、JS数据结构
1. 数组
数组是JS中最常用的一种数据结构,数组可以存储任意数据类型的值,而且可以是多维的。
示例
// 创建数组
let arr1 = [1, 'a', true];
let arr2 = new Array(1, 2, 3);
let arr3 = Array.of(1, 2, 3);
let arr4 = Array.from('abc');
// 访问数组元素
let arr = [1, 2, 3];
console.log(arr[0]); // 1
// 遍历数组
let arr = [1, 2, 3];
arr.forEach(function(item, index){
console.log(index + ': ' + item);
});
// 数组常见操作
let arr = [1, 2, 3];
arr.push(4); // [1, 2, 3, 4]
arr.pop(); // [1, 2, 3]
arr.shift(); // [2, 3]
arr.unshift(1); // [1, 2, 3]
arr.reverse(); // [3, 2, 1]
arr.sort(); // [1, 2, 3]
2. 队列
队列是一种先进先出(FIFO)的数据结构,常见的应用场景包括事件队列、消息队列等。
示例
// 创建队列
let queue = [];
// 添加元素到队列尾部
queue.push(1);
queue.push(2);
queue.push(3);
// 从队列头部取出元素
let item = queue.shift();
console.log(item); // 1
console.log(queue); // [2, 3]
3. 栈
栈是一种后进先出(LIFO)的数据结构,常见的应用场景包括函数调用栈、编辑器中的撤销操作等。
示例
// 创建栈
let stack = [];
// 添加元素到栈顶
stack.push(1);
stack.push(2);
stack.push(3);
// 从栈顶取出元素
let item = stack.pop();
console.log(item); // 3
console.log(stack); // [1, 2]
以上仅是JS数据类型与数据结构的基础操作,实际应用场景中可能还有更多的高级操作及算法,有兴趣的读者可以深入学习。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你走进js数据类型与数据结构的世界 - Python技术站