js数组方法与属性详解

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()   返回数组对象的原始值

你可能感兴趣的:(js数组方法与属性详解)