在本教程中,您将借助示例了解 JavaScript 数组。
数组是可以一次存储多个值的对象。例如,
const words = ['hello', 'world', 'welcome'];
这里,words 是一个数组。该数组存储 3 个值。
您可以使用两种方式创建数组:
const array1 = ["eat", "sleep"];
const array2 = new Array("eat", "sleep");
在上述两个示例中,我们创建了一个包含两个元素的数组。
注意:建议使用数组字面量来创建数组。
以下是更多数组示例:
// empty array
const myList = [ ];
// array of numbers
const numberArray = [ 2, 4, 6, 8];
// array of strings
const stringArray = [ 'eat', 'work', 'sleep'];
// array with mixed data types
const newData = ['work', 'exercise', 1, true];
您还可以在数组中存储数组、函数和其他对象。例如,
const newData = [
{'task1': 'exercise'},
[1, 2 ,3],
function hello() { console.log('hello')}
];
您可以使用索引 (0, 1, 2 …) 访问数组的元素。例如,
const myArray = ['h', 'e', 'l', 'l', 'o'];
// first element
console.log(myArray[0]); // "h"
// second element
console.log(myArray[1]); // "e"
JavaScript 中的数组索引
注意:数组的索引从 0 开始,而不是 1。
可以使用内置方法 push()和 unshift()向数组中添加元素。
push()方法在数组末尾添加一个元素。例如,
let dailyActivities = ['eat', 'sleep'];
// add an element at the end
dailyActivities.push('exercise');
console.log(dailyActivities); // ['eat', 'sleep', 'exercise']
unshift()方法在数组的开头添加一个元素。例如,
let dailyActivities = ['eat', 'sleep'];
//add an element at the start
dailyActivities.unshift('work');
console.log(dailyActivities); // ['work', 'eat', 'sleep']
还可以通过访问索引值来添加元素或更改元素。
let dailyActivities = [ 'eat', 'sleep'];
// this will add the new element 'exercise' at the 2 index
dailyActivities[2] = 'exercise';
console.log(dailyActivities); // ['eat', 'sleep', 'exercise']
假设一个数组有两个元素。如果您尝试在索引 3(第四个元素)处添加一个元素,则第三个元素将是未定义的。例如,
let dailyActivities = [ 'eat', 'sleep'];
// this will add the new element 'exercise' at the 3 index
dailyActivities[3] = 'exercise';
console.log(dailyActivities); // ["eat", "sleep", undefined, "exercise"]
基本上,如果您尝试向高索引添加元素,那么中间的索引将具有未定义的值。
您可以使用 pop()方法从数组中删除最后一个元素。pop()方法还返回被删除的值。例如,
let dailyActivities = ['work', 'eat', 'sleep', 'exercise'];
// remove the last element
dailyActivities.pop();
console.log(dailyActivities); // ['work', 'eat', 'sleep']
// remove the last element from ['work', 'eat', 'sleep']
const removedElement = dailyActivities.pop();
//get removed element
console.log(removedElement); // 'sleep'
console.log(dailyActivities); // ['work', 'eat']
如果需要删除第一个元素,可以使用 shift() 方法。shift() 方法删除第一个元素并返回删除的元素。例如,
let dailyActivities = ['work', 'eat', 'sleep'];
// remove the first element
dailyActivities.shift();
console.log(dailyActivities); // ['eat', 'sleep']
可以使用 length 属性查找元素的长度(数组中的元素数)。例如,
const dailyActivities = [ 'eat', 'sleep'];
// this gives the total number of elements in an array
console.log(dailyActivities.length); // 2
在 JavaScript 中,有多种可用的数组方法可以更轻松地执行有用的计算。
一些常用的 JavaScript 数组方法是:
方法 | 描述 |
---|---|
concat() | 连接两个或多个数组并返回结果 |
indexOf() | 搜索数组的元素并返回其位置 |
find() | 返回通过测试的数组元素的第一个值 |
findIndex() | 返回通过测试的数组元素的第一个索引 |
forEach() | 为每个元素调用一个函数 |
includes() | 检查数组是否包含指定的元素 |
push() | 将新元素添加到数组的末尾,并返回数组的新长度 |
unshift() | 将新元素添加到数组的开头,并返回数组的新长度 |
pop() | 移除数组的最后一个元素并返回移除的元素 |
shift() | 移除数组的第一个元素并返回移除的元素 |
sort() | 按字符串的字母顺序和升序对元素排序 |
slice() | 选择数组的一部分并返回新数组 |
splice() | 移除或替换现有元素和/或添加新元素 |
let dailyActivities = ['sleep', 'work', 'exercise']
let newRoutine = ['eat'];
// sorting elements in the alphabetical order
dailyActivities.sort();
console.log(dailyActivities); // ['exercise', 'sleep', 'work']
//finding the index position of string
const position = dailyActivities.indexOf('work');
console.log(position); // 2
// slicing the array elements
const newDailyActivities = dailyActivities.slice(1);
console.log(newDailyActivities); // [ 'sleep', 'work']
// concatenating two arrays
const routine = dailyActivities.concat(newRoutine);
console.log(routine); // ["exercise", "sleep", "work", "eat"]
注意:如果元素不在数组中,indexOf()返回 -1。
访问 JavaScript 数组方法了解更多信息。
在 JavaScript 中,数组是一个对象。数组的索引是对象键。
因为数组是对象,所以数组元素是通过标识来存储的。因此,复制数组值时,复制数组中的任何更改也将反映在原始数组中。例如,
let arr = ['h', 'e'];
let arr1 = arr;
arr1.push('l');
console.log(arr); // ["h", "e", "l"]
console.log(arr1); // ["h", "e", "l"]
还可以通过在数组中传递命名键来存储值。例如,
let arr = ['h', 'e'];
arr.name = 'John';
console.log(arr); // ["h", "e"]
console.log(arr.name); // "John"
console.log(arr['name']); // "John"
JavaScript 中的数组索引
但是,不建议通过在数组中传递任意名称来存储值。
因此,在 JavaScript 中,如果值在有序集合中,则应该使用数组。否则最好将对象与 { } 一起使用。
上一教程 :JS Prototype 下一教程 :Multidimensional Array
[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/array
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/zsx0728/article/details/124288765
内容来源于网络,如有侵权,请联系作者删除!