数据类型与数组的基础理解
在编程中,数据类型是指变量所能存储的值的种类。不同的语言支持不同数量和种类的基本数据类型,比如数值、字符串、布尔值等。在JavaScript中,我们常用的一种复杂数据类型就是数组。数组允许我们存储一系列相同或不同类型的元素,这些元素可以通过索引来访问。
数组创建与初始化
要开始使用数组,我们首先需要创建一个。JavaScript 提供了几种方式来创建新数组:
使用 new Array(size) 方法,其中 size 是预设长度。
使用字面量 [value1, value2, ...] 来直接指定初始值。
通过扩展运算符 {...} 从另一个可迭代对象克隆。
例如:
let myArray = new Array(5); // 创建一个长度为5但未初始化的空数组
console.log(myArray); // 输出:[empty × 5]
let fruits = ['apple', 'banana', 'cherry']; // 字面量创建并初始化包含三个字符串元素的数组
console.log(fruits); // 输出:["apple", "banana", "cherry"]
数组操作方法概览
下面列举了一些常见用于处理和操纵array实例的情形:
添加/删除元素
添加新元素到末尾 - push()
将任意数量个参数添加到当前位置后面的所有位置,并返回现在总共有多少个项目(包括被推送入到的每个项目)。
fruits.push('date');
console.log(fruits); // 输出:"apple","banana","cherry","date"
在特定位置插入或移除 - unshift() 和 splice()
unshift() 将任何数量参数添加到当前 array 的开头,并返回新的length属性。如果你想在特定的位置插入或者移除某些项,可以使用splice(index, count),它会从给定index开始删除count个项目,然后可以选择性地向这个空白处添加任意数量参数。
修改/查找
获取单一索引处的一个具体项 - [index]
通过方括号语法,你可以获取array中指定索引处的一个具体项。
const itemAtFive = fruits[4];
console.log(itemAtFive); // 如果存在则输出:"date"
修改单一索引处的一个具体项 - [index] = newValue
如果你想要改变现有items中的内容,你也可以使用同样的方括号语法进行赋值。
fruits[0] = 'pear';
console.log(fruits);
// 输出:["pear", "banana", "cherry", "date"]
过滤筛选
遍历并执行函数对每个item进行测试以确定是否保留它 - .filter(callback(currentValue[, index[, array]]))
这是一个高级功能,它让你能够根据条件筛选出符合要求的事物。
const filteredFruits = fruits.filter(function (fruit) {
return fruit.length > 6;
});
console.log(filteredFruits);
// ["banana", "cherry"]
合并连接操作
拼接两个或更多 arrays,形成一个新的 array 并返回该新构建后的结果 - .concat(array1, [ , ...])
这对于将几个小型arrays合并成更大的single-array非常有用。这是一个非破坏性的操作,所以原始arrays保持不变,只是生成了包含所有这些items的一个全新的array实例。
let mergedArrays = fruits.concat(['grape', 'orange'], ['lemon']);
console.log(mergedArrays);
// ["pear","banana","cherry","date","grape","orange","lemon"]
排序搜索遍历遍及分析信息内容
我们还有一系列方法用于对我们的array进行排序搜索遍历分析等操作,如.sort([compareFunction]),find(),forEach(callbackFn)以及.every()等。
以上便是一次简要介绍如何有效利用 JavaScript 中提供的一些主要内置函数来工作于 arrays 上。你已经看到了它们如何帮助我们处理不同的任务,从简单地增加或者减少 items 到更复杂的事情,如根据自定义规则筛选和拼接列表。此外,还有许多其他可能用的function可供探索,不论是在开发应用程序还是解决问题时都可能证明非常有用。