let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr3 = arr1.concat(arr2)
arr3 // [1, "2", "2", "4", 32]
copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中。
// array.copyWithin(target, start, end)
// target 必需。复制到指定目标索引位置。
// start 可选。元素复制的起始位置。
// end可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr4 = arr1.copyWithin(0,3,4)
arr4 // [1, "2"]
entries() 返回数组的可迭代对象。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr5 = arr1.entries()
let func2 = ()=>{
for (let item of arr5){
console.log(item)
}}
func2()
// [0, 1]
// [1, "2"]
// 返回了两个数组,一个是index下角标数组,一个是value数值数值
every() 检测数值元素的每个元素是否都符合条件。
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
let arr = ages.every(checkAdult)
arr // false
fill() 使用一个固定值来填充数组。
let arr5 = new Array(5)
arr5.fill('7')
arr5 // ["7", "7", "7", "7", "7"]
filter() 检测数值元素,并返回符合条件所有元素的数组。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr7 = arr2.filter((item)=>{
if(item.toString() === item){
return item
}
})
arr7 // ["2", "4"]
find() 返回符合传入测试(函数)条件的数组元素,仅返回第一位符合条件的元素。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr8 = arr2.find((item)=>{
if(item.toString() === item){
return item
}
})
arr8 // "2"
findIndex() 返回符合传入测试(函数)条件的数组元素索引,仅返回第一位符合条件的元素。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr9 = arr2.findIndex((item)=>{
if(item.toString() === item){
return item
}
})
arr9 // 0
forEach() 数组每个元素都执行一次回调函数。 返回值为undefined,不可以链式。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr3 = []
arr2.forEach((item)=>{
if (item.toString() === item){
arr3.push(item)
}
})
arr3 // ["2", "4"]
from() 通过给定的对象中创建一个数组。
includes() 判断一个数组是否包含一个指定的值。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let includes = arr2.includes('2')
includes// true
indexOf() 搜索数组中的元素,并返回它所在的位置。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let indexof = arr2.indexOf('2')
indexof // 0
isArray() 判断对象是否为数组。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let isarr = Array.isArray(arr2)
isarr // true
join() 把数组的所有元素放入一个字符串。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let join = arr2.join()
join // "2,4,32"
keys() 返回数组的可迭代对象,包含原始数组的键(key)。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let funckeys = ()=>{
for(let item of arr2.keys()){
console.log(item)
}
}
funckeys()
// 0
// 1
// 2
lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr13 = arr1.concat(arr2)
let lastindexof = arr13.lastIndexOf('2')
lastindexof // 2
map() 通过指定函数处理数组的每个元素,并返回处理后的数组。 返回新数组,新数组的长度和原数组长度一致,符合条件的item返回,不符合条件的item返回undefined占位
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr14 = arr2.map((item) => {
if(item.toString() === item){
return item
}
})
arr14 // ["2", "4", undefined]
pop() 删除数组的最后一个元素并返回删除的元素,对原数组产生影响,改变原数组结构。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let arr15 = arr2.pop()
arr15 // 32
arr2 // ["2", "4"]
push() 向数组的末尾添加一个或更多元素,并返回新的长度,对原数组产生影响,改变原数组结构。
let arr17 = arr2.push(32)
arr17 // 3
arr2 // ["2", "4", 32]
reduce() 将数组元素计算为一个值(从左到右)。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let reduce3 = arr2.reduce((item1, item2)=>{
return item1 + item2
})
reduce // "2432"
reduceRight() 将数组元素计算为一个值(从右到左)。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let reduce3 = arr2.reduceRight((item1, item2)=>{
return item1 + item2
})
reduce // "3242"
reverse() 反转数组的元素顺序。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let reverse = arr2.reverse()
reverse // [32, "4", "2"]
shift() 删除并返回数组的第一个元素。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let shift = arr2.shift()
shift // 32
slice() 选取数组的的一部分,并返回一个新数组。 (第一个参数是起始下标,第二个参数是结束下标)
let arr1 = [1,'2'],arr2 = ["4", "2", 32]
let slice = arr2.slice(0,1)
let slice2 = arr2.slice(1,2)
slice // ["4"]
slice2 // ["2"]
some() 检测数组元素中是否有元素符合指定条件。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let some = arr2.some((item,index)=>{
if(typeof item === 'string'){
return item
}
})
some // true
sort() 对数组的元素进行排序。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let sort2 = arr2.sort()
sort2 // ["2", 32, "4"]
splice() 从数组中添加或删除元素。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let split = arr2.splice(1, 1, 'asd')
split // [32]
arr2 // ["2", "asd", "4"]
toString() 把数组转换为字符串,并返回结果。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let tostring = arr2.toString()
tostring // "2,asd,4"
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
let arr1 = [1,'2'],arr2 = ['2','4',32]
let unshift2 = arr2.unshift('s')
unshift2 // 4
arr2 // ["s", "2", "asd", "4"]
valueOf() 返回数组对象的原始值。
数组
constructor 返回创建数组对象的原型函数。
length 设置或返回数组元素的个数。
prototype 允许你向数组对象添加属性或方法。