-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path2.html
More file actions
80 lines (68 loc) · 2.92 KB
/
2.html
File metadata and controls
80 lines (68 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>2</title>
</head>
<body>
<script>
'use strict';
// 直接给Array的length赋一个新的值会导致Array大小的变化
let arr = [1, 2, 3, 4, 5, '5'];
arr.length = 10;
console.log(arr); // (10) [1, 2, 3, 4, 5, empty × 5]
arr.length = 2;
console.log(arr); // (2) [1, 2]
// 如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化
arr[15] = 'break';
console.log(arr); // (16) [1, 2, empty × 13, "break"]
/*大多数其他编程语言不允许直接改变数组的大小,越界访问索引会报错。
然而,JavaScript的Array却不会有任何错误。
在编写代码时,不建议直接修改Array的大小,访问索引时要确保索引不会越界*/
console.log('break元素在数组arr的' + arr.indexOf('break') + '位置');
// 数字5和字符串'5'是不同的元素
arr = [1, 2, 3, 4, 5, '5'];
console.log('数字5的位置是:' + arr.indexOf(5) + ',字符串5的位置是:' + arr.indexOf('5'));
// slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array
// 从索引1开始,到索引3结束,但不包括索引3
console.log(arr.slice(1, 3)); // (2) [2, 3]
// 复制数组
let newArr = arr.slice();
// 这样只是创建了一个引用,如果修改newArr2的话,等于同时修改了arr
let newArr2 = arr;
console.log(newArr === arr, newArr2 === arr);
arr.push(55);
console.log(arr);
arr.pop();
console.log(arr);
arr.unshift(66);
console.log(arr);
arr.shift();
console.log(arr);
// 排序
arr = ['J', 'D', 'l'];
arr.sort(); // TODO 后面补充复杂排序
console.log(arr, arr[1]);
// 翻转数组
arr.reverse();
console.log(arr);
// splice()方法是修改Array的“万能方法”,
// 它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素:
arr = ['break', 'heather', 'jordan', 'lisa', 'john'];
arr.splice(2, 3, 'chen', 'du', 'lee');
console.log(arr); // (5) ["break", "heather", "chen", "du", "lee"]
arr.splice(2, 0, 'wang');
console.log(arr); // (6)["break", "heather", "wang", "chen", "du", "lee"]
arr.splice(1, 1);
console.log(arr); // (5) ["break", "wang", "chen", "du", "lee"]
// concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array:
let arr1 = [1, 2, 'break'];
let arr2 = [2, 3, 'leo'];
let arr3 = [3, 'olivia', 4];
console.log(arr1.concat(arr2, arr3)); // (9) [1, 2, "break", 2, 3, "leo", 3, "olivia", 4]
console.log(arr1); // (3) [1, 2, "break"]
// join()方法把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串:
console.log(arr1.join('|')); // 1|2|break
</script>
</body>
</html>