📜  数组与向量 (1)

📅  最后修改于: 2023-12-03 15:10:21.253000             🧑  作者: Mango

数组与向量介绍

数组和向量是程序员经常用到的数据结构。它们是一组相同类型的数据元素的集合,可以快速访问或操作这些数据。

数组

数组是一种线性数据结构,存储在一个连续的内存块中。数组可以通过索引快速访问元素。数组可以是一维或多维的,可以存储任何类型的数据。

创建数组

创建数组的方法有多种,可以使用数组字面值进行赋值,也可以使用构造函数进行创建。

// 使用数组字面值进行创建
const myArray = [1, 2, 3, 4, 5];

// 使用构造函数进行创建
const myArray2 = new Array(1, 2, 3, 4, 5);
访问数组元素

可以使用数组索引来访问数组元素。数组索引从0开始计数。

const myArray = [1, 2, 3, 4, 5];

console.log(myArray[0]); // 输出1
console.log(myArray[2]); // 输出3
数组操作

数组支持多种操作,如添加元素、删除元素、截取数组等。

// 添加元素
const myArray = [1, 2, 3, 4, 5];

myArray.push(6); // 在数组末尾添加元素
console.log(myArray); // 输出[1, 2, 3, 4, 5, 6]

myArray.unshift(0); // 在数组头部添加元素
console.log(myArray); // 输出[0, 1, 2, 3, 4, 5, 6]

// 删除元素
myArray.pop(); // 删除数组末尾的元素
console.log(myArray); // 输出[0, 1, 2, 3, 4, 5]

myArray.shift(); // 删除数组头部的元素
console.log(myArray); // 输出[1, 2, 3, 4, 5]

// 截取数组
const slicedArray = myArray.slice(1, 4); // 截取数组的某个区间
console.log(slicedArray); // 输出[2, 3, 4]
向量

向量是一种数学对象,可以看作是一维数组。向量可以用来表示物理量的大小和方向,也可以用来进行向量运算。

创建向量

创建向量可以使用数组或对象字面值。

// 使用数组创建向量
const myVector = [1, 2, 3];

// 使用对象字面值创建向量
const myVector2 = { x: 1, y: 2, z: 3 };
向量运算

向量支持多种运算,如向量加法、点积、叉积等。

// 向量加法
const vectorA = [1, 2];
const vectorB = [3, 4];

const result = [vectorA[0] + vectorB[0], vectorA[1] + vectorB[1]];
console.log(result); // 输出[4, 6]

// 向量点积
const dotProduct = vectorA[0] * vectorB[0] + vectorA[1] * vectorB[1];
console.log(dotProduct); // 输出11

// 向量叉积
const crossProduct = vectorA[0] * vectorB[1] - vectorA[1] * vectorB[0];
console.log(crossProduct); // 输出-2
总结

数组和向量都是非常重要的数据结构,它们可以在程序中发挥重要作用。学好数组和向量,可以帮助程序员开发出更加高效和功能强大的应用程序。