【JavaScript】参考手册-Array对象的3个属性和25个方法

1、概念

Array 对象用于在变量中存储多个值:

var animals = ["cat", "dog", "pig"];

第一个数组元素的索引值为 0,第二个索引值为 1,以此类推。

2、数组属性

2.1 constructor 返回创建数组对象的原型函数

var animals = ["cat", "dog", "pig"];
console.log(animals.constructor); // [Function: Array]
console.log(animals.constructor()); // []

2.2 length 设置或返回数组元素的个数

var animals = ["cat", "dog", "pig"];
console.log(animals.length); // 3
animals.length = 6
console.log(animals.length); // 6

2.2 prototype 允许你向数组对象添加属性或方法

Array.prototype.myUcase = function () {
    
    
  for (i = 0; i < this.length; i++) {
    
    
    this[i] = this[i].toUpperCase()
  }
  return this
}
var animals = ['cat', 'dog', 'pig']
console.log(animals.myUcase()) // [ 'CAT', 'DOG', 'PIG' ]

3、Array 对象方法

3.1 concat() 连接两个或更多的数组并返回结果

var animals = ['cat', 'dog', 'pig']
var animalNew = ['lion']
console.log(animals.concat(animalNew)) // [ 'cat', 'dog', 'pig', 'lion' ]

3.2 copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.copyWithin(1, 0)) // [ 'cat', 'cat', 'dog' ]
console.log(animals) // [ 'cat', 'cat', 'dog' ]

3.3 entries() 返回数组的可迭代对象

var animals = ['cat', 'dog', 'pig']
console.log(animals.entries()) // Object [Array Iterator] {}

for (entry of animals.entries()) {
    
    
  console.log(entry)
}
// [ 0, 'cat' ]
// [ 1, 'dog' ]
// [ 2, 'pig' ]

3.4 every() 检测数组元素的每个元素是否都符合条件

var ages = [16, 24, 33];
console.log(ages.every(age => age > 20)) // false
console.log(ages.every(age => age > 12)) // true

3.5 fill() 使用一个固定值来填充数组(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.fill('lion')) // [ 'lion', 'lion', 'lion' ]
console.log(animals) // [ 'lion', 'lion', 'lion' ]

3.6 filter() 检测数组元素并返回符合条件所有元素的数组

var ages = [16, 24, 33];
console.log(ages.filter(age => age > 20)) // [ 24, 33 ]
console.log(ages.filter(age => age > 12)) // [ 16, 24, 33 ]

3.7 find() 返回符合传入测试(函数)条件的数组元素

var ages = [16, 24, 33];
console.log(ages.find(age => age > 20)) // 24
console.log(ages.find(age => age > 12)) // 16

3.8 findIndex() 返回符合传入测试(函数)条件的数组元素索引

var ages = [16, 24, 33];
console.log(ages.findIndex(age => age > 20)) // 1
console.log(ages.findIndex(age => age > 12)) // 0

3.9 forEach() 数组每个元素都执行一次回调函数

var animals = ['cat', 'dog', 'pig']
animals.forEach((item, index, obj) => {
    
     console.log(item, index, obj) })
// cat 0 [ 'cat', 'dog', 'pig' ]
// dog 1 [ 'cat', 'dog', 'pig' ]
// pig 2 [ 'cat', 'dog', 'pig' ]
animals.forEach(item => {
    
     console.log(item) })
// cat
// dog
// pig

3.10 from() 通过给定的对象中创建一个数组

var animals = Array.from("lion");
console.log(animals) // [ 'l', 'i', 'o', 'n' ]
var animals = Array.from(['cat', 'dog', 'pig']);
console.log(animals) // [ 'cat', 'dog', 'pig' ]

3.11 indexOf() 搜索数组中的元素并返回它所在的位置

var animals = ['cat', 'dog', 'pig']
console.log(animals.indexOf('dog')) // 1

3.12 join() 把数组的所有元素放入一个字符串

var animals = ['cat', 'dog', 'pig']
console.log(animals.join()) // cat,dog,pig
console.log(animals.join('-')) // cat-dog-pig
console.log(animals.join(['1', '2'])) // cat1,2dog1,2pig

3.13 lastIndexOf() 返回一个指定的字符串值最后出现的位置在一个字符串中的指定位置从后向前搜索

var animals = ['pig', 'cat', 'dog', 'pig']
console.log(animals.lastIndexOf('cat')) // 1
console.log(animals.lastIndexOf('dog')) // 2
console.log(animals.lastIndexOf('pig')) // 3

3.14 map() 通过指定函数处理数组的每个元素并返回处理后的数组

var animals = ['cat', 'dog', 'pig']
console.log(animals.map(item => item+'%')) // [ 'cat%', 'dog%', 'pig%' ]
console.log(animals) // [ 'cat', 'dog', 'pig' ]

3.15 pop() 删除数组的最后一个元素并返回删除的元素(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.pop()) // pig
console.log(animals) // [ 'cat', 'dog' ]

3.16 push() 向数组的末尾添加一个或更多元素并返回新的长度(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.push('lion')) // 4
console.log(animals) // [ 'cat', 'dog', 'pig', 'lion' ]

3.17 reverse() 反转数组的元素顺序(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.reverse()) // [ 'pig', 'dog', 'cat' ]
console.log(animals) // [ 'pig', 'dog', 'cat' ]

3.18 shift() 删除数组的第一个元素(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.shift()) // cat
console.log(animals) // [ 'dog', 'pig' ]

3.19 slice() 选取数组的的一部分并返回一个新数组

var animals = ['cat', 'dog', 'pig']
console.log(animals.slice(2)) // [ 'pig' ]
console.log(animals) // [ 'cat', 'dog', 'pig' ]

3.20 some() 检测数组元素中是否有元素符合指定条件

var ages = [16, 24, 33];
console.log(ages.some(age => age > 20)) // true
console.log(ages.some(age => age > 40)) // false

3.21 sort() 对数组的元素进行排序(原数组被修改)

var ages = [33, 16, 24];
console.log(ages.sort()) // [ 16, 24, 33 ]
console.log(ages) // [ 16, 24, 33 ]

3.22 splice() 从数组中添加或删除元素(原数组被修改)

var ages = [33, 16, 24];
console.log(ages.splice(0, 2)) // [ 33, 16 ]
console.log(ages) // [ 24 ]

3.23 toString() 把数组转换为字符串并返回结果

var animals = ['cat', 'dog', 'pig']
console.log(animals.toString()) // cat,dog,pig
console.log(animals) // [ 'cat', 'dog', 'pig' ]

3.24 unshift() 向数组的开头添加一个或更多元素并返回新的长度(原数组被修改)

var animals = ['cat', 'dog', 'pig']
console.log(animals.unshift('lion')) // 4
console.log(animals) // [ 'lion', 'cat', 'dog', 'pig' ]
console.log(animals.unshift(['deer', 'horse'])) // 5
console.log(animals) // [ [ 'deer', 'horse' ], 'lion', 'cat', 'dog', 'pig' ]

3.25 valueOf() 返回数组对象的原始值

animals.valueOf()与 animals返回值一样

var animals = ['cat', 'dog', 'pig']
console.log(animals.valueOf()) // [ 'cat', 'dog', 'pig' ]
console.log(animals) // [ 'cat', 'dog', 'pig' ]

猜你喜欢

转载自blog.csdn.net/shentian885/article/details/126356763