JavaScript中常见的数组类型主要有四种:索引数组、关联数组、静态数组和动态数组。
索引数组
索引数组是最基本的数组类型,其下标由数字表示,从0开始依次递增。
创建索引数组可以通过以下方式:
const arr = [1, 2, 3];
访问和修改索引数组中的元素可以通过下标进行:
const arr = [1, 2, 3];
arr[0]; // 返回1
arr[1] = 4; // 把第二个元素修改为4
关联数组
关联数组是以字符串为下标的数组,也可以叫做哈希表或字典。在JavaScript中,可以使用对象来模拟关联数组。
创建关联数组可以通过以下方式:
const obj = { name: 'John', age: 20 };
访问和修改关联数组中的元素可以通过属性名进行:
const obj = { name: 'John', age: 20 };
obj.name; // 返回'John'
obj.age = 21; // 把age属性修改为21
静态数组
静态数组是指在创建数组时就确定了其长度,不支持动态添加和删除元素。
创建静态数组可以通过以下方式:
const arr = new Array(3);
初始化静态数组可以通过下标进行:
const arr = new Array(3);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
动态数组
动态数组是指在创建数组时不需要确定其长度,可以根据需要动态添加和删除元素。
创建动态数组可以通过以下方式:
const arr = [];
向动态数组中添加元素可以使用push方法:
const arr = [];
arr.push(1);
arr.push(2);
arr.push(3);
从动态数组中删除元素可以使用pop方法:
const arr = [1, 2, 3];
arr.pop(); // 删除最后一个元素3
示例说明
示例一:使用关联数组统计单词出现次数
const str = 'the quick brown fox jumps over the lazy dog';
const words = str.split(' ');
const count = {};
for (let i = 0; i < words.length; i++) {
const word = words[i];
if (!count[word]) {
count[word] = 0;
}
count[word]++;
}
console.log(count);
运行结果为:
{
the: 2,
quick: 1,
brown: 1,
fox: 1,
jumps: 1,
over: 1,
lazy: 1,
dog: 1
}
示例二:使用动态数组实现栈
class Stack {
constructor() {
this.array = [];
}
push(item) {
this.array.push(item);
}
pop() {
return this.array.pop();
}
peek() {
return this.array[this.array.length - 1];
}
isEmpty() {
return this.array.length === 0;
}
}
const stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.peek()); // 输出3
stack.pop();
console.log(stack.peek()); // 输出2
运行结果为:
3
2
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中的索引数组、关联数组和静态数组、动态数组讲解 - Python技术站