Js数组Array

119 阅读1分钟

属性

数组属性

constructor length protptype

面试题 判断是数组还是对象

1、用constructor
arr.constructor obj.constructor
2、用instanceof
arr instanceof Array => true
arr instanceof Object =>false
3、用特有的方法
arr.push => f push()
obj.push => undefined

Array 对象方法

1.arr.push 末尾添加 返回新数组长度
2.arr.pop 末尾删除 返回删除的项
3.arr.shift 头部删除 返回新数组长度
4.arr.unshift 头部添加 返回数组新长度
5.arr.splice(索引,删除个数,新的项...) 截取部分
从索引位置开始按删除个数删 然后添加新的项从索引位置 6.arr.concat(arr2) 数组拼接 会将后一个数组去除最外层中括号,并添加经arr尾部
7.indexOf 某个项的下标 找不到返回-1
8.lastIndexOf 同上 从后往前找
9.toString 转成字符串 用,分隔
10.join("自定义") 用自定义符号分隔
11.sort()//排序 默认按unicode 大小排序 sort((a,b)=>b-a) 从大到小 sort((a,b)=>a-b) 从小到大

 //   洗牌函数
scores.sort(function (a, b) {
            return Math.random() - 0.5;
        });
        console.log(scores);

12.forEach(function(value,index,arr){}) 遍历 value 被遍历数组的项 index下标 arr被遍历数组 13.map(function(){处理}) 返回同等长度的数组,每一项都做某个处理
14.every() 参数同forEach 检查每一项是否符合条件 遇到不符合时立即终止,不再检查后面的项
15.some()参数同forEach 检查某一项是否符合条件 一符合就终止
16.filter() 查找符合条件的所有元素 返回一个数组 过滤器
17.includes() 检查是否包含某项 返回true或false
18.arr.find(function(e){条件}) 查找符合的第一项 没有则返回undefined
19.array.findIndex(function(currentValue, index, arr), thisValue) 符合条件的数组第一个元素位置
20.arr.reverse 翻转排序
21.arr.reduce 从左到右累加每项
22.slice(start,end(不包括)) 截取