Array方法

1.创建数组

let colors=["red","pink"];
let names= new Array("AA","BB")

2.检测是不是数组

if(colors instanceof Array){}

3.迭代器

colors.keys()
   [0,1]
colors.vaules()
   ["red","pink"]
colors.entries()
   [[0,"red"],[1,"pink"]]

4.复制与填充

ints.copyWithin(0,5) 从ints中复制索引5开始的内容,插入到索引0开始的位置,是浅复制
fill(7,1,3)7填充索引大于等于1且小于3的元素

如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,
https://www.jianshu.com/p/1c142ec2ca45

5.转换方法

valueOf() 返回数组本身   ???vscode尝试 无vauleOf
toString() 返回数组中每个值的等效字符串拼接而成的一个逗号分隔的**字符串**

6.栈方法

push()
pop()

7.队列方法

push()		在队尾插入
shift()     在队头删除
unshift()	在队头插入
pop()		在队尾删除

8.排序

function compare(value1, value2){
	return vaule1-value2;
}
num.sort(compare);  升序
num.reverse; 反转

8.合并

colors2 = colors.concat("yellow",["black","grey"])
注意:不会改变原始数据集
合并的数组会被打平,也就是说后者会拆开合并,不是作为一个整体
若不想被打平:
let colors3 = ["black","grey"]
colors3[Symbol.isConcatSpreadable] = false

9.提取

let color4 = color.slice(1,4) 返回开始索引到结束索引-1的元素.
slice()用于创建一个包含原有数组中一个或多个元素的新数组,且不影响原始数组

10.删除插入替换splice()

删除: splice(0,2) 位置和数量
插入: splice(2,0,"red","pink") 开始位置、要删除的元素数量、要插入的元素
替换: splice(2,1,"red","pink") 在位置2删除一个元素,再插入red pink
splice() 返回被删除的元素、且colors.splice()是在原数组上操作

11.搜索方法

indexOf(4) 从前往后搜索,返回第一个元素为4的位置
lastIndexOf(4) 从后往前搜索,返回第一个(正着数是最后一个)元素为4的位置
include(4) true or false 
使用全等===比较的
若有第二参数,表示从第几个开始搜
使用断言函数搜索数组
find() findIndex()均只返回第一个匹配的元素或索引
const people =[
	{
		name:"AA",
		age:27
	},
	{
		name:"BB",
		age:29
	}
];
console.log(people.find((element, index, array)=> element.age<28))
//{name:"AA", age:27}

12.迭代方法

有三个参数:数组元素、元素索引、数组本身
对数组每一项都运行传入的函数
every():如果每一项都返回true,则这个方法返回true
filter():函数返回true的项组成数组之后返回
forEach():没有返回值
map():返回由每次函数调用的结果构成的数组
some():有一项true就返回true
例:
let numbers = [1,2,3];
let res = numbers.map((item,index,array)=> item**2)
[1,4,9]

13.归并方法

reduce() reduceRight()从最后一项遍历至第一项
有四个参数: 上一项的归并值、当前项、当前项的索引和数组本身
let values = [1,2,3];
let res = values.reduce((prev, cur, index, array)=>prev+cur);
// 6 累加
let res = values.reduce(function(prev, cur, index, array){ retutn prev+cur;});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值