导航
导航
文章目录
  1. 1.创建 Array 对象的语法:
  2. 2.属性
  3. 3.常用方法
  4. 4.循环
  5. 4.栗子

读书笔记-es5Array对象

1.创建 Array 对象的语法:

1
2
3
new Array();
new Array(size);
new Array(element0, element1, ..., elementn)

2.属性

属性 描述
constructor 返回对创建此对象的数组函数的引用
length 设置或返回数组中元素的数目
prototype 允许向对象添加属性和方法

3.常用方法

方法 描述
concat() 连接两个或更多的数组,并返回结果
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度
reverse() 颠倒数组中元素的顺序
shift() 删除并返回数组的第一个元素,会修改原数组
unshift() 向数组的开头添加一个或更多元素,并返回新的长度
slice() 从某个已有的数组返回选定的元素,不修改原数组
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素,返回删除的元素,会修改原数组
valueOf() 返回某个字符串对象的原始值

4.循环

方法 描述
entries() 返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)
every() 使用指定函数检测数组中的所有元素是否都符合指定条件(通过函数提供)。如果数组中检测到有一个元素不满足,则返回 false ,且剩余的元素不会再进行检测,如果所有元素都满足条件,则返回 true,不会改变原始数组
filter() 检查指定数组中符合条件的所有元素,并返回符合条件所有元素的数组(新数组),不会改变原始数组
find() 返回通过测试(函数内判断)的数组的第一个元素的值。当数组中的元素在测试条件时返回 true 时,返回符合条件的元素,之后的值不会再调用执行函数,如果没有符合条件的元素返回 undefined ,不会改变原始数组
findIndex() 返回传入一个测试条件(函数)符合条件的数组第一个元素位置。当数组中的元素在测试条件时返回 true 时,返回符合条件的元素的索引位置,之后的值不会再调用执行函数,如果没有符合条件的元素返回 -1 ,不会改变原始数组
forEach() 对数组的每个元素执行一次提供的函数,但总是返回undefined
map() 数组中的每个元素都调用一次提供的函数后返回处理过的结果。返回值是一个新的数组,不会改变原始数组

4.栗子

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
//concat()
let a = [1,2,3]
a.concat(4,5) //[1,2,3,4,5]

//join()
let a = [1,2,3]
a.join() //1,2,3

//shift()
let a = [1,2,3,4]
a.shift() //1
a //[2,3,4]

//unshift()
let a = [1,2,3,4]
a.unshift(6) //5
a //[6,1,2,3,4]

//slice()
let a = [1,2,3]
a.slice(1) //[2,3]

let a = [1,2,3]
a.slice(1,2) //[2]

//splice()
let a = [1,2,3,4,5]
a.splice(1,1) //[2]

let a = [1,2,3,4,5]
a.splice(1,1,'hzzly') //[2]
a //[1, "hzzly", 3, 4, 5]

//entries()
const fruits = ["Banana", "Orange", "Apple", "Mango"]
fruits.entries()
//[0, "Banana"]
//[1, "Orange"]
//[2, "Apple"]
//[3, "Mango"]

//every()
const ages = [32, 33, 16, 40]
ages.every((val, index) => val >= 18) //false

//filter
const ages = [32, 33, 16, 40]
ages.filter((val, index) => val >= 18) //[32, 33, 40]
ages.filter((val, index) => val >= 18).length //3

//find()
const ages = [32, 33, 16, 40]
ages.find((val, index) => val >= 18) //32

//findIndex()
const ages = [32, 33, 16, 40]
ages.findIndex((val, index) => val >= 18) //0
ages.findIndex((val, index) => val === 16) //2
ages.findIndex((val, index) => val > 40) //-1

//forEach()
const ages = [32, 33, 16, 40]
const arr = ages.forEach((val, index) => {
console.log(val) //可遍历到所有数组元素
return val + 10
})
//arr: 总是返回undefined

//map
const ages = [32, 33, 16, 40]
const arr = ages.map((val, index) => {
console.log(val) //可遍历到所有数组元素
return val + 10
})
// arr: [42, 43, 26, 50]