javascript中的数组

2021/11/17 11:10:43

本文主要是介绍javascript中的数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

为了存储有序的集合,javascript中有一种数据结构叫数组。

数组的定义:

let arr = new Array();
let arr = [];
let fruits = ["Apple", "Orange", "Plum"];

数组的下标从0开始,可以用中括号的语法访问数组中的某个值

let fruits = ["Apple", "Orange", "Plum"];

alert( fruits[0] ); // Apple
alert( fruits[1] ); // Orange
alert( fruits[2] ); // Plum

也可以给数组中的某个位置重新赋值

fruits[2] = 'Pear'; // now ["Apple", "Orange", "Pear"]

如果需要添加新值,直接使用下标赋值就可以

fruits[3] = 'Lemon'; // now ["Apple", "Orange", "Pear", "Lemon"]

可以通过length属性来获取数组一共有多少个元素

let fruits = ["Apple", "Orange", "Plum"];

alert( fruits.length ); // 3

pop可以删除数组中的最后一个元素

let fruits = ["Apple", "Orange", "Pear"];

alert( fruits.pop() ); // remove "Pear" and alert it

alert( fruits ); // Apple, Orange

push可以将元素加到最后边

let fruits = ["Apple", "Orange"];

fruits.push("Pear");

alert( fruits ); // Apple, Orange, Pear

shift可以将元素从头部移除

let fruits = ["Apple", "Orange", "Pear"];

alert( fruits.shift() ); // remove Apple and alert it

alert( fruits ); // Orange, Pear

unshift从开头加入元素

let fruits = ["Orange", "Pear"];

fruits.unshift('Apple');

alert( fruits ); // Apple, Orange, Pear

可以使用数组的length属性来循环数组的元素

let arr = ["Apple", "Orange", "Pear"];

for (let i = 0; i < arr.length; i++) {
  alert( arr[i] );
}

也可以使用for…of语法来循环数组

let arr = ["Apple", "Orange", "Pear"];

for (let i = 0; i < arr.length; i++) {
  alert( arr[i] );
}

可以使用splice来删除数组中的元素

let arr = ["I", "study", "JavaScript"];

arr.splice(1, 1); // from index 1 remove 1 element

alert( arr ); // ["I", "JavaScript"]

可以使用slice来截取数组

let arr = ["t", "e", "s", "t"];

alert( arr.slice(1, 3) ); // e,s (copy from 1 to 3)

alert( arr.slice(-2) ); // s,t (copy from -2 till the end)

可以使用concat来合并数组

let arr = [1, 2];

// create an array from: arr and [3,4]
alert( arr.concat([3, 4]) ); // 1,2,3,4

// create an array from: arr and [3,4] and [5,6]
alert( arr.concat([3, 4], [5, 6]) ); // 1,2,3,4,5,6

// create an array from: arr and [3,4], then add values 5 and 6
alert( arr.concat([3, 4], 5, 6) ); // 1,2,3,4,5,6

可以使用forEach来迭代数组中的元素

["Bilbo", "Gandalf", "Nazgul"].forEach((item, index, array) => {
  alert(`${item} is at index ${index} in ${array}`);
});

可以使用map来迭代数组中的元素

let lengths = ["Bilbo", "Gandalf", "Nazgul"].map(item => item.length);
alert(lengths); // 5,7,6

可以使用sort来对数组中的元素进行排序

let arr = [ 1, 2, 15 ];

// the method reorders the content of arr
arr.sort();

alert( arr );  // 1, 15, 2

排序的时候会把值转换为字符串进行比较,就导致结果和我们的预期不一样,为了解决排序的问题可以自定义排序的规则

function compareNumeric(a, b) {
  if (a > b) return 1;
  if (a == b) return 0;
  if (a < b) return -1;
}

let arr = [ 1, 2, 15 ];

arr.sort(compareNumeric);

alert(arr);  // 1, 2, 15

使用reverse进行反转

let arr = [1, 2, 3, 4, 5];
arr.reverse();

alert( arr ); // 5,4,3,2,1

可以使用join进行连接

let arr = ['Bilbo', 'Gandalf', 'Nazgul'];

let str = arr.join(';'); // glue the array into a string using ;

alert( str ); // Bilbo;Gandalf;Nazgul

可以使用reduce来重新计算数组的值,比如求和

let arr = [1, 2, 3, 4, 5];

// removed initial value from reduce (no 0)
let result = arr.reduce((sum, current) => sum + current);

alert( result ); // 15


这篇关于javascript中的数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程