Array的属性与方法
属性
arr=[1,2,3,4]
constructor 返回创建数组对象的原型函数
arr.constructor
ƒ Array() { [native code] }
length 返回数组元素的个数
arr.length
4
prototype 允许向数组对象添加自定义方法或方法
Array.prototype.abcd=4
arr.abcd
4
方法
concat() 合并两个数组 返回结果
arr1=[1,2,3];arr2=[5,6,7]
arr1.concat(arr2)
[1,2,3,5,6,7]
*原数组不变
copyWithin() 从数组的指定位置 拷贝元素到数组的另一个指定位置
arr.copyWithin(1,0) 第一个参数 要替换拷贝的值
第二个参数 要拷贝的值
[1,2,3,4] => [1,1,3,4]
*原数组发生改变
entries() *** 返回数组可迭代对象
arr.entries()
Array Iterator {} 数组索引值作为key 数组元素作为value
*原数组不变
every() 检测数值元素的每个元素是否都符合条件
function check(a){
return a>=2
}
arr.every(check)
如果都符合 返回true 有不符合的返回false
***不对空数组进行检测
***不改变原始数组
fill() 使用一个固定值来填充数组
arr.fill(“1”)
[1,2,3,4] = > [1,1,1,1]
*原数组发生改变
filter() 检测数组元素,返回符合条件所有元素的数组
function check(a){
return a>=2
}
arr.filter(check)
[2,3,4]
***不对空数组进行检测
***不改变原始数组
find() 获取符合条件的第一个元素 返回符合传入测试(函数)条件的数组元素
function check(a){
return a>=2
}
arr.find(check)
2
***不对空数组进行检测
***不改变原始数组
findIndex() 获取符合条件的第一个元素索引
function check(a){
return a>=2
}
arr.find(check)
1
***不对空数组进行检测
***不改变原始数组
forEach() 列出数组的每个元素(循环数组)
arr.forEach(function(index,val){
console.log(index)
console.log(val)
})
循环出来是对应的下表以及值
from() 通过字符串创建一个数组
Array.from(‘asfqweqw’)
["R", "U", "N", "O", "O", "B"]
includes() 检测数组是否包含某个值 成功返回true 失败返回false
arr.includes(1)
true
***不改变原始数组
indexOf() 检测元素在数组中第一次出现的位置
arr.indexOf(‘2’)
1
***不改变原始数组
isArray() 判断是否为数组 成功返回true 失败返回false
Array.isArray(arr)
true
Join() 把数组所有的元素放入一个字符串
str = arr.join()
str “1,2,3,4”
***不改变原始数组
keys() 返回数组的可迭代对象,包含原数组的键
lastIndexOf() 返回最后一个指定字符串最后出现的位置
array.lastIndexOf(item,start)
item 要检索的字符串
start 从哪开始(0-----length-1)
map() 放回一个数组,数组中元素为原始数组的平方根
arr.map()
***不对空数组进行检测
***不改变原始数组
pop() 删除数组最后一个元素
arr.pop()
[1,2,3]
返回的是删除的元素
原数组改变
push() 向数组的末尾添加一个或更多,并返回新的长度
arr.push(item)
返回的是添加后的length
原数组改变
reduce() 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减 最终计算为一个值
function abc(a,b){
return a+b;
}
arr.reduce(abc)
10
原数组不变
reduceRight()同reduce 从右到左
reverse() 数组反转
arr.reverse()
[4,3,2,1]
返回反转后的数组
***原始数组变为反转数组
shift() 删除并数组的第一个元素从其中删除,并返回第一个元素的值
arr.shift()
[2,3,4]
slice() 提取数组中的元素
arr.slice(start,end)
基于下标截取(算下标元素)
start 规定截取开始位置
如果为负数 那么-1代表最后一个元素 -2倒数第二个依次类推
end 规定结束位置
如果为负数 从数组尾部开始算
some()相对有every() some() 是只要数组内有符合函数条件的值就返回true
arr.some(function(v,i,arr),thisv)
function ab(a){
return a>2
}
arr.some(ab)
true
sort() 对数组元素进行排序
arr.sort(function(){
return a[6666,2,3,4]
arr.splice(0,0,666) => [666,1,2,3,4]
arr.splice(0,1) => [2,3,4]
toString() 把数组转化为字符串 返回结果
arr.toString() 1,2,3,4
unshift() 向数组开头添加一个或更多元素
valueOf() 返回数组对象的原始值