JavaScript-数组

JavaScript数组

创建数组

1
2
3
4
5
6
7
8
9
10
// 创建数组的两种方式
let arr = [];
let arr1 = new Array();

// 指定数组长度为2
let arr2 = new Array(2);

// 创建指定元素的数组,两种方式
let arr3 = [1, 2];
let arr4 = new Array(3, 4);

访问数组元素

1
2
3
4
// 通过索引访问数组元素
let arr = [1, 2, 3];
arr[0] // 1
arr[1]; // 2

遍历数组元素

1
2
3
4
5
6
7
8
9
10
11
12
let arr = [1, 2];
arr.forEach((value, index, array)=>{
console.log(value, index);
})
// 1, 0
// 2, 1

for (let value of arr) {
console.log(value);
}
// 1
// 2

操作数组的基本方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
let arr = [1, 2];

// 获取数组长度
let len = arr.length

// 从数组后面添加多个数据
arr.push(3, 4); // [1, 2, 3, 4]

// 从数组前面添加多个数据
arr.unshift(5, 6); // [5, 6, 1, 2, 3, 4]

// 从数组中删除第一个元素并返回它
let arr_1 = arr.shift(); // [6, 1, 2, 3, 4]

// 从数组中删除元素,并在必要时插入新元素,返回已删除的元素。
// 从第几个位置开始删除几个数据,添加什么数据
// 从第三个位置开始删除0个数据,添加数据 7,8
arr.splice(3, 0, 7, 8); // [6, 1, 2, 7, 8, 3, 4]

// 删除数组末尾的元素
arr.pop() // [ 6, 1, 2, 7, 8, 3 ]

判断元素是否存在

1
2
3
4
5
6
let arr = [1, 2];
console.log(arr.includes(2)); // true

// 返回数组中第一个匹配值的索引,如果不存在,则返回-1。
arr.indexOf(2) // 1
if(arr.indexOf(2) != -1){}

查找元素

find和findIndex

find:方法返回回调函数的返回值是turn的元素值,之后不再运行,没有就返回undefined

findIndex:和find差不多,只是的是返回索引

1
2
3
4
5
6
7
8
9
10
let array = [1, 2, 3, 4];
let res = array.find(value => {
return value == 1;
})
console.log(res); // 1

let res1 = array.find(value => {
return value == 5;
})
console.log(res1); // undefined

排序:sort

1
2
3
4
5
let arr = [11, 2, 4, 3];
arr.sort((a, b) => {
return a - b;
})
console.log(arr); // [ 2, 3, 4, 11 ]
  • 回调函数返回a - b升序,b - a 降序;如果省略,元素将按ASCII字符顺序升序排序。