JavaScript 数组

x33g5p2x  于2022-04-21 转载在 Java  
字(4.3k)|赞(0)|评价(0)|浏览(653)

在本教程中,您将借助示例了解 JavaScript 数组。
    数组是可以一次存储多个值的对象。例如,

const words = ['hello', 'world', 'welcome'];

这里,words 是一个数组。该数组存储 3 个值。

创建数组

您可以使用两种方式创建数组:

  1. 使用数组字面量
    创建数组的最简单方法是使用数组字面量 [ ] 。例如,
const array1 = ["eat", "sleep"];
  1. 使用 new 关键字
    您还可以使用 JavaScript 的 new 关键字创建一个数组。
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()移除或替换现有元素和/或添加新元素
示例:JavaScript 数组方法
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 数组的工作原理

在 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

相关文章